在jQuery中检索mousemove处理程序

时间:2014-07-23 10:11:46

标签: javascript jquery javascript-events

有没有办法为jQuery中的选择检索当前的鼠标移动处理程序?

根据标准jQuery,常规方法是简单地调用$('selector').mousemove(),但我看到对于事件,这会模拟事件而不是返回处理程序。

这可能吗?

3 个答案:

答案 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);
}