2010-11-24 104 views
0

我搜索在计算器这个问题发布之前,但任何职位开创的似乎为我工作:(Javascript preventDefault不工作,也不返回false;

我有这样的:

function addEvent(elm, evType, fn) { 
    if (elm.addEventListener) { 
     elm.addEventListener(evType, fn, false); 
     return true; 
    } 
    else if (elm.attachEvent) { 
     var r = elm.attachEvent('on' + evType, fn); 
     return r; 
    } 
    else { 
     elm['on' + evType] = fn; 
    } 
} 

和我这样做:

var el = document.getElementById('myLink'); 

addEvent(el, "click", function(event){ 
     alert('testing'); 
     if(event.preventDefault){ 
      event.preventDefault; 
     } 
     if (event.stopPropagation) { 
      event.stopPropagation(); 
     } 
     return false; 
    }); 

其中myLink的是..

<a href="http://www.google.com" id="myLink">Click me</a> 

但是当我点击链接去,它不会停止默认的事件动作...我已经测试过IE,FF和Chrome,没有结果...

有什么想法吗?谢谢...

回答

5

有一对夫妇在代码中的错误:

addEvent(el, "click", function(event){ // event will be undefined in IE 
    event = event || window.event; // fallback to window.event in IE 

    alert('testing'); 
    if(event.preventDefault){ 
     event.preventDefault(); //() was missing here 
    } 
    if (event.stopPropagation) { 
     event.stopPropagation(); 
    } 
    return false; 
}); 
+0

是的,现在的工作!愚蠢的我..没有看到失踪()...对不起,但非常感谢你! – 2010-11-24 01:37:28