ホームページ  >  記事  >  ウェブフロントエンド  >  js_javascriptスキルにおける各種ブラウザでのマウスボタン値の違い

js_javascriptスキルにおける各種ブラウザでのマウスボタン値の違い

WBOY
WBOYオリジナル
2016-05-16 18:08:141025ブラウズ
W3C DOM-Level-2 は次のように定義されています

W3C DOM が書きました

マウス ボタンの押下または放しによって発生するマウス イベント中に、ボタンはどのマウス ボタンが状態を変更したかを示すために使用されます。ボタンの値の範囲は 0 から左ボタンを示します。マウス、1 つは中央ボタン (存在する場合) を示し、2 つは右ボタンを示します。ボタンの動作が逆になる左利き用に設定されたマウスの場合、値は代わりに右から左に読み取られます。

説明は非常に明確で、0、1、2 はそれぞれ左、中、右のキーを表します。以下はそれぞれ、mousedown、mouseup、click、dbclick でテストされています。

コードをコピー コードは次のとおりです:


マウスアップをテスト

クリックをテスト

p id= "p4">テスト dbclick


🎜>





つまり:
IE6/7/8 では、mousedown/mouseup イベントで取得される左ボタンの値は 1 ですが、click イベントで取得される値は 0 です。
他のブラウザでは、マウスダウン/マウスアップ/クリックイベントで取得される左キーの値は0です。規格への完全な準拠。
すべてのブラウザは dbclick イベントで取得できません

js_javascriptスキルにおける各種ブラウザでのマウスボタン値の違いつまり:

IE6/7/8 では、mousedown/mouseup イベントで取得される中央キーの値は 4 です。

IE6/7では、クリックイベントで中央キーの値を取得できません。 IE8は動作しますが、値が0になります。
Firefox3.6/Chrome7/Safari5では、mousedown/mouseupイベントで取得される中央キーの値は1です。
Chrome7/Safar5 では、クリック イベントでも中央のキー値 (これも 1) を取得できます。
Opera10では中間キーの値を取得できません。

js_javascriptスキルにおける各種ブラウザでのマウスボタン値の違い

つまり:
すべてのブラウザはマウスダウン/マウスアップ イベントで右クリック値を取得でき、それらはすべて 2 です。
すべてのブラウザで、click/dbclick イベントで右クリック値を取得できません。

上でわかるように、マウスがどのキーを押したかを判断するには、適切なイベントを選択する必要があります。ここでマウスダウン/マウスアップを選択する必要があります。 Opera 10 では中央キーの値を取得することは依然として不可能です。これは、Opera が中央キー イベント (マウスダウン、マウスアップ、クリック、dbclick) をまったくトリガーしないためです。

次のコードは、IE6/7/8 の値を W3C 準拠に変換します

js_javascriptスキルにおける各種ブラウザでのマウスボタン値の違い


コードをコピーします

コードは次のとおりです以下のように:


var ie678 = !-[1,];

function getButton(e){ var code = e.button = { 1 : 0, 4 : 1, 2 : 2 } if(ie678){
return ie678Map[code]
リターンコード; 🎜> }


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。