0

jQuery のトリガーとして div があります。div にはリンクが含まれています。場合によっては、div をクリックするとリンクをクリックすることになり、リンクの動作を停止する必要があります。

これは event.preventDefault(); でできると思います。しかし、以下はIE8では機能しません。これは、トリガーが実際のリンクではなく親 div であるためだと思いますが、これを修正するにはどうすればよいですか? ありがとう

$('div#myDiv').click(function(){
    event.preventDefault();
    //other js here
});


<div id="myDiv">
   <a href="#">Link</a>
</div>
4

2 に答える 2

4

パラメータを定義しませんでした:

$('div#myDiv').click(function(e){
    e.preventDefault();
    //other js here
});

.preventDefaultjQuery イベント オブジェクト内の jQuery shim です。IE イベント オブジェクトには存在しません。

Chrome と IE はevent、これらのブラウザーのネイティブ イベント オブジェクトを参照するグローバル オブジェクトを定義します。このため、e ev evtjQuery のバグ修正と正規化が適用されないため、このグローバル イベント オブジェクトを誤って参照しないように、常に etc を使用してください。

ドキュメント: http://api.jquery.com/category/events/event-object/

于 2012-08-07T11:54:58.787 に答える
0

簡単な解決策は、おそらくhrefアンカー タグの属性を削除することです。私はこれをお勧めしませんが、迅速な解決策になる可能性があります。

于 2012-08-07T11:56:00.593 に答える