2011-12-07 21 views
1

IE8でjQueryを使用してウィンドウのmousedownイベントに接続できない問題があります。私はエラーは起こっていないが、イベントは発射されていないようだ。それは私が試したIE9と他のすべてのブラウザで動作します。問題は、あなたがjQueryのイベントオブジェクトをグローバルwindow.eventオブジェクトを使用して、とされていないことですdocument代わりwindowjQuery mousedownイベントがIE8のウィンドウで起動しない

$(document).ready(function() { 
    $(document).mousedown(function() { 
     alert('test'); 
    }); 
}); 
+0

は、あなただけの矛盾のmousedown(特にオペラとIEで)の取り扱いをエスケープする代わりに().clickを使用できますか? – Interrobang

答えて

5

使用:ここに私のコードです。 window.eventは一部のブラウザでのみ動作し、W3C標準ではありません。

jQueryはイベントオブジェクトをすべてのブラウザで同じになるように正規化します。イベントハンドラは、そのjQueryイベントオブジェクトをパラメータとして渡します。あなたはそれを使うべきです。

$(".class_name").mousedown(function (e) { 

    switch (e.which) { 
    case 1: //leftclick 
     //... 
     break; 
    case 3: //rightclick 
     //... 
     break; 
    } 
}); 
1

<html> 
<head> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
     function test(e) { 
      alert('test'); 
     } 

     $(document).ready(function() { 
      $(window).mousedown(test); 
     });  
    </script> 
</head> 
<body> 
</body> 
</html> 
関連する問題