- ベストアンサー
mousewheelイベントの使い方とは?
- mousewheelイベントを使ってボタンをクリックする方法について教えてください。
- event.wheelDeltaが無視される問題についても解決策を教えてください。
- mousewheelイベントを発生させるためのコードを教えてください。
- みんなの回答 (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
その他の回答 (1)
- fujillin
- ベストアンサー率61% (1594/2576)
よくわかってませんが・・・ 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
お礼
ご回答ありがとうございました。 サイトに詳しく書かれているので、試してみようと思います。 有難うございました。
お礼
ご回答ありがとうございました。 詳しく説明して頂いたので、とても参考になりました。 msdnのサイトに詳しく載っているんですね。 こちらも見るようにしようと思います。 有難うございました。