5

タイトルで述べたように、dijit.form.Slider のマウスホイール機能を削除したいのは、ページをスクロールしてカーソルがスライダーに当たったときにスライダーがトリガーされることがあるからです。

しかし、onmousewheel イベントは dojo ソースで接続されているようで、dojo ファイルを置換または変更することはできません。

短い解決策(最適には宣言的な解決策)を知っている人はいますか?

ありがとう

4

1 に答える 1

3

これを行う最も簡単な方法は、スライダー ウィジェットの _mouseWheeled メソッドを上書きすることです。

宣言例:

<div dojoType="dijit.form.VerticalSlider" name="vertical1" id="slider2" ... >
    <script type="dojo/method" event="_mouseWheeled"></script>
    ...
</div>

プログラム例、単一インスタンス:

dijit.byId('mySlider')._mouseWheeled = function() {};

プログラマティック、すべてのインスタンス:

dojo.extend(dijit.form.HorizontalSlider, {
  _mouseWheeled: function() {}
});

VerticalSlider( から継承するため、これは水平および垂直スライダーの両方をカバーしHorizontalSliderます。)

于 2010-08-28T03:27:51.493 に答える