2010-08-20 3 views
4

Comme indiqué dans le titre, je veux supprimer la capacité mousewheel de dijit.form.Slider, car il déclenche parfois le curseur lors du défilement de la page et le curseur frappe le curseur.Supprimer MouseWheel Event à partir de dijit.form.Slider

Mais il semble que les événements onmousewheel sont connectés dans la source dojo et nous ne pouvons pas remplacer ou modifier les fichiers dojo.

Quelqu'un connaît une solution courte (de façon optimale une solution déclarative)?

Merci

Répondre

2

La meilleure façon de le faire serait de écraserait la méthode _mouseWheeled du widget curseur.

exemple déclarative:

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

exemple Programmatic, seule instance:

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

Programmatic, toutes les instances:

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

(Cela couvrira les deux curseurs horizontaux et verticaux depuis VerticalSlider hérite de HorizontalSlider.)