Czy istnieje sposób na odzyskanie aktualnego programu obsługi przenoszenia myszy dla zaznaczenia w jQuery?
Normalną metodą, jak w przypadku standardowego jQuery, byłoby po prostu wywołanie $("selector").mousemove()
, ale widzę, że dla zdarzeń symuluje to zdarzenie zamiast zwracania programu obsługi.
czy to możliwe?
Odpowiedzi:
3 dla odpowiedzi № 1Myślę, że to, o co prosisz, to operatory myszy podłączone do elementu, w takim przypadku możesz użyć nieudokumentowanej metody jQuery._data()
lubić
var handlers = $._data($("div")[0], "events").mousemove;
tutaj handlers
będzie tablicą obiektów, dla których każdy obiekt odwołuje się do programu obsługi mousemove
zdarzenie. z obiektu można uzyskać metodę obsługi za pomocą handler
własność.
Próbny: Skrzypce
1 dla odpowiedzi nr 2
spróbuj tak
<div id="target">Move here</div>
<div id="other">Trigger the handler</div>
<div id="log"></div>
jquery
$( "#target" ).mousemove(function( event ) {
var msg = "Handler for .mousemove() called at ";
msg += event.pageX + ", " + event.pageY;
$( "#log" ).append( "<div>" + msg + "</div>" );
});
Referencje API jQuery mousemove
0 dla odpowiedzi № 3
Musisz ustawić funkcję obsługi na mousemove ()
$(document).mousemove(function(event){
console.log(event.pageX + ", " + event.pageY);
});
Na przykład:
$(document).mousemove(handlerfunction);
function handlerfunction(event){
console.log(event.pageX + ", " + event.pageY);
}