Удалить событие MouseWheel из dijit.form.Slider - PullRequest
4 голосов
/ 20 августа 2010

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

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

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

Спасибо

1 Ответ

2 голосов
/ 28 августа 2010

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

...