[英]JQuery mouseover function firing multiple times
我一直在使用這種方法為整個類(按鈕等)設置事件:
$("div.bigButton").mouseover(function() { this.style.backgroundColor = '#dfdfdf'; });
然而,在進行一些測試時,我注意到當將鼠標移動到這些對象上時,該功能會激發3次! 當改變像backgroundColor這樣的東西時,這是不明顯的,但如果我添加一個警報,這是非常明顯的。
我有什么想法我做錯了嗎? 我擔心這可能會對以后的性能產生影響。
謝謝
編輯:對不起,錯過“風格”關閉是一個錯字
HTML是:
<div class="bigButton">
Test</div>
由於在HTML元素中嵌套,可能會發生這種情況。 jQuery文檔在頁面底部有一個完美的例子(不要混淆mouseover
和mouseenter
),以及一個防止這種不需要的行為的例子。 http://api.jquery.com/mouseover/
我發現設置按鈕的功能正在多次運行 (每次頁面內容都通過ajax傳送)。 我原以為這會覆蓋 '鼠標懸停'功能,但似乎它正在添加它!
感謝你的幫助
如果它是懸停效果,你應該使用.hover
或.mouseenter
和.mouseleave
。
還要檢查可能是您的問題的子元素冒泡的事件。
更新
通過嘗試這個小提琴我似乎無法重現您的問題,所以您的問題在於您的HTML / JavaScript代碼。 也許你連接手柄三次?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.