ホームページ  >  記事  >  ウェブフロントエンド  >  HTML5でマウスホイールがスクロールされているときに実行されるスクリプトのイベントonmousewheel

HTML5でマウスホイールがスクロールされているときに実行されるスクリプトのイベントonmousewheel

黄舟
黄舟オリジナル
2017-11-07 09:46:322207ブラウズ

ホイールイベント Firefox では DOMMouseScroll を使用しますが、ff では addEventListener メソッドを使用して DomMouseScroll イベントをバインドすることもできます。また、他のブラウザではホイール イベントにマウスホイールを使用します。詳細。

Firefox は DOMMouseScroll を使用し、他のブラウザはマウスホイールを使用します。スクロール イベントがトリガーされると、Firefox は詳細 属性 を使用してホイール情報を取得し、他のブラウザーは WheelDelta を使用します。なぜ他のメーカーがこの問題に関して Microsoft とこれほど一致しているのかわかりません。 Firefox は addEventListener メソッドを使用して DomMouseScroll イベントをバインドできます。

elem.addEventListener('DOMMouseScroll', func, false); IE およびその他の主流ブラウザは、従来のイベント バインディング モデル を使用できます。ただし、IE 独自のattachEvent メソッドは使用しないでください。他の主流ブラウザは Microsoft のメソッドを認識しません。

Firefoxのマウスホイールの上スクロールは-3、下スクロールは3

IEマウスホイールの上スクロールは120、下スクロールは-120

Safariマウスホイールの上スクロールは360、下スクロールは-360

Operaのマウスホイール最大 120 までスクロールし、-120 までスクロールダウンします

Chrome のマウス ホイールは最大 120 までスクロールし、-120 までスクロールダウンします

誰かが Safari でいくつかのテストを行いました: 「円をスクロールするだけの場合、値は +-0.1 ですもう少し速くスクロールすると (さらに数回スクロールすると)、この値も大きくなります。これは、Mac OS ではマウス ホイール加速機能があるため、ブラウザは 1 回スクロールすると 1 ピクセルスクロールし、3 回スクロールします。ブラウザは 30 ピクセルスクロールします。」同時に、彼は Camino (Gecko をベースにしたカーネル エンジン) についても研究しました。「Safari と同様 (+- 0.3 ~ +-Infinity)、Firefox と同じカーネル エンジンを使用していますが、デルタ値は + だけです」 -2.666666 Float、スクロール速度に関係なく

私のテスト後、IE/Operaは同じタイプであり、attachEventを使用してホイールイベントを追加できます

/*IE注册事件*/ 
if(document.attachEvent){  
  document.attachEvent('onmousewheel',scrollFunc);  
}

FirefoxはaddEventListenerを使用してホイールイベントを追加します

/*Firefox注册事件*/ 
if(document.addEventListener){  
  document.addEventListener('DOMMouseScroll',scrollFunc,false);  
}

Safari。と Chrome は同じタイプです

window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome

Firefox を除き、他のすべては HTML DOM を使用してイベントを追加できます。次のメソッドを使用してイベントを追加します

/*注册事件*/ 
if(document.addEventListener){  
  document.addEventListener('DOMMouseScroll',scrollFunc,false);  
}//W3C  
window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome


以上がHTML5でマウスホイールがスクロールされているときに実行されるスクリプトのイベントonmousewheelの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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