• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:mousewheelイベントについて)

mousewheelイベントの使い方とは?

このQ&Aのポイント
  • mousewheelイベントを使ってボタンをクリックする方法について教えてください。
  • event.wheelDeltaが無視される問題についても解決策を教えてください。
  • mousewheelイベントを発生させるためのコードを教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.2

eventオブジェクトのwheelDeltaプロパティは、 現状のブラウザ(IE、Chrome、Firefox、Safari)では 読み出しのみで、値をセットをする事は出来ません。 http://msdn.microsoft.com/en-us/library/ms535142%28v=VS.85%29.aspx http://help.dottoro.com/ljekedtv.php WheelEventイベントの発火自体出来ます。 IEは、  var evt = document.createEventObject();  evt.detail = 0;  elment.fireEvent ("onmousewheel",evt); IE以外は、  var evt = document.createEvent("WheelEvent");  var detail = 0;  evt.initUIEvent("mousewheel",true,true,document.defaultView,detail);  elment.dispatchEvent(evt); です。DOM Level 3 Eventインターフェースが実装されれば、  var evt = document.createEvent("WheelEvent");  evt.initWheelEvent("wheel",true,true,document.defaultView,0,0,0,0,0,0,   document.body,null,0,-120,0,0);  elm.dispatchEvent(evt); とできそうですが.... 現状の対処として、イベント自体は発火してますから、 detailプロパティにホイール量を仮セットしておいて、 onmousewheelのイベントハンドラー関数で、 event.wheelDeltaを参照する代わりに、event.detailを参照して スクロールなり何なりの処理を自分で書いてあげれば、 思ったことが出来るかも。 http://www.w3.org/TR/DOM-Level-3-Events/#events-wheelevents http://help.dottoro.com/ljrxdxdw.php http://msdn.microsoft.com/en-us/library/ms536390%28VS.85%29.aspx

noname#213520
質問者

お礼

ご回答ありがとうございました。 詳しく説明して頂いたので、とても参考になりました。 msdnのサイトに詳しく載っているんですね。 こちらも見るようにしようと思います。 有難うございました。

その他の回答 (1)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

よくわかってませんが・・・ event.wheelDeltaはread-onlyとなっているようなので、値の設定ができないのでは? http://msdn.microsoft.com/en-us/library/ff974876(v=VS.85).aspx initMouseWheelEvent()を用いれば可能みたいですが、私の手元の環境では確認できないので・・・ http://msdn.microsoft.com/en-us/library/ff975287(v=VS.85).aspx

noname#213520
質問者

お礼

ご回答ありがとうございました。 サイトに詳しく書かれているので、試してみようと思います。 有難うございました。

関連するQ&A