[英]Does jQuery have a on/live hover function for mouseenter or mouseout?
我在運行<li>項時遇到了一些麻煩,我正在運行一個插件,該插件會向data- *屬性動態添加一個數據標簽ID。
由於某種原因,這意味着所有項目都是動態添加的,而我在同一列表元素上運行的另一個函數將無法運行,因為該事件不是動態附加的。
發生的情況是:1)頁面渲染2)DOM加載時我的“ other”功能可用3)頁面加載時,插件代碼可用,但是我的“ other”功能(添加了下面和下面的懸停框標題)動畫)不再起作用。 因此它基本上可以正常工作,直到另一個插件啟動為止。
到目前為止,我的發現是:
我可以使用jQuery'on'將事件動態附加到動態編輯/創建的項目(#stage li項目)。 使用這個:
$('body').on('hover', '#stage li', function() {
// Do dynamic stuff
}
但是,這僅適用於1懸停,並沒有給我真正需要的mouseenter / mouseout解決方案。 是否有人對如何實現這一目標有任何想法?
對:
$('#stage').on({
mouseenter: function(){
// do mouseentery shtuff
},
mouseleave: function(){
// mouse bye bye
}
},'li');
將.on()事件綁定從body
更改為#stage
並從那里過濾li
,因為它將更快。
用這種方式(XML方式)做的很酷的事情是,您可以輕松地向其中添加更多的東西……在同一項目中,在其下添加一個mousemove函數只是另一個逗號和函數,它們都包含在一個.on中。 () 捆綁。 :)
這就是您要找的東西。 另外,請注意,自jQuery 1.9起,不再支持懸停
$('mydiv').on('mouseenter', '#stage li', function( event ) {
// do something
}).on('mouseleave', '#stage li', function( event ) {
// do something different
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.