有没有办法为jQuery中的选择检索当前的鼠标移动处理程序?
根据标准jQuery,常规方法是简单地调用$('selector').mousemove()
,但我看到对于事件,这会模拟事件而不是返回处理程序。
这可能吗?
答案 0 :(得分:3)
我认为您所追求的是附加到元素的mousemove处理程序,在这种情况下,您可以使用未记录的方法jQuery._data()
,如
var handlers = $._data($('div')[0], 'events').mousemove;
此处handlers
将是一个对象数组,其中每个对象引用mousemove
事件的处理程序。从对象中,您可以使用handler
属性获取处理程序方法。
演示:Fiddle
答案 1 :(得分:1)
试试这个
<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>" );
});
API参考jQuery mousemove
答案 2 :(得分:0)
您需要将处理函数设置为mousemove()
$(document).mousemove(function(event){
console.log(event.pageX + ", " + event.pageY);
});
您的例子是:
$(document).mousemove(handlerfunction);
function handlerfunction(event){
console.log(event.pageX + ", " + event.pageY);
}