我使用jquery爲我的頁面上的元素設置懸停回調。我現在正在編寫一個模塊,它需要爲某些元素臨時設置新的懸停行爲。新模塊無法訪問懸停功能的原始代碼。如何閱讀jQuery中的綁定懸停回調函數
我想在設置新的懸停功能之前存儲舊的懸停功能,以便在完成臨時懸停行爲後恢復它們。
我覺得這些都可以使用jquery.data()
功能存儲:
//save old hover behavior (somehow)
$('#foo').data('oldhoverin',???)
$('#foo').data('oldhoverout',???);
//set new hover behavior
$('#foo').hover(newhoverin,newhoverout);
做新的懸停行爲的東西...
//restore old hover behavior
$('#foo').hover($('#foo').data('oldhoverin'),$('#foo').data('oldhoverout'));
但我怎麼得到的jQuery當前註冊的懸停功能?
Shadow2531,我試圖做到這一點,而無需修改最初註冊回調的代碼。否則你的建議可以正常工作。感謝您的建議,並幫助澄清我在尋找什麼。也許我必須進入jquery的源代碼並找出這些回調是如何存儲在內部的。也許我應該改變這個問題:「是否可以在不修改jquery的情況下做到這一點?」