有沒有什麼辦法可以檢索當前在jQuery中選擇的鼠標移動處理程序?在jQuery中檢索mousemove處理程序
正常的方法,按照標準的jQuery,只是簡單地調用$('selector').mousemove()
,但我看到事件模擬事件而不是返回處理程序。
這可能嗎?
有沒有什麼辦法可以檢索當前在jQuery中選擇的鼠標移動處理程序?在jQuery中檢索mousemove處理程序
正常的方法,按照標準的jQuery,只是簡單地調用$('selector').mousemove()
,但我看到事件模擬事件而不是返回處理程序。
這可能嗎?
,我認爲你是什麼都連接到一個元素的鼠標移動處理程序,在這種情況下,你可以使用非記錄方法jQuery._data()
像
var handlers = $._data($('div')[0], 'events').mousemove;
這裏handlers
將是一個後對象數組,其中每個對象都指向mousemove
事件的處理程序。從對象中,您可以使用handler
屬性獲取處理程序方法。
演示:Fiddle
完美,謝謝。 –
嘗試這樣
<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
這是設置一個處理程序 - 我試圖檢索對現有處理程序的引用。 –
您需要設置處理函數鼠標移動()
$(document).mousemove(function(event){
console.log(event.pageX + ", " + event.pageY);
});
對於你的e xample是:
$(document).mousemove(handlerfunction);
function handlerfunction(event){
console.log(event.pageX + ", " + event.pageY);
}
這是設置一個處理程序 - 我試圖檢索對現有處理程序的引用。 –
'使用$(document).mousemove(handlerfunction); ' – SlyBeaver
你在找像'變種處理程序= $ ._數據($(選擇)[0], '事件')鼠標移動;'看http://jsfiddle.net/arunpjohny/75fAn/1/ –
@ArunPJohny這看起來完全像我以後 - 你可以發佈它作爲答案? –