2010-11-24 16 views
0

私はそれを投稿する前にstackoverflowの中でこの質問を検索したが、ポストの創設のいずれかが私のために働くようだ:(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

はい、それが機能するようになりました!!愚かな私..行方不明()を見ていない...それのために申し訳ありませんが、ありがとうございます! –

+0

ハハ、ありがとう、ちょうどこの問題を自分で持っていた。常にpreventDefaultが関数呼び出しであることを忘れているようです。 – k4t434sis

関連する問題