Удалить событие MouseWheel из dijit.form.Slider

Как указано в заголовке, я хочу удалить возможность колесика мыши dijit.form.Slider, поскольку он иногда запускает ползунок при прокрутке страницы, и курсор попадает на ползунок.

Но кажется, что события onmousewheel связаны с исходным кодом dojo, и мы не можем заменить или изменить файлы dojo.

Кто-нибудь знает короткое решение (оптимально декларативное)?

Спасибо


person Daniel    schedule 20.08.2010    source источник


Ответы (1)


Самый быстрый способ сделать это — затереть метод _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.)

person Ken Franqueiro    schedule 28.08.2010