簡體   English   中英

JQuery鼠標懸停功能多次觸發

[英]JQuery mouseover function firing multiple times

我一直在使用這種方法為整個類(按鈕等)設置事件:

$("div.bigButton").mouseover(function() { this.style.backgroundColor = '#dfdfdf'; });

然而,在進行一些測試時,我注意到當將鼠標移動到這些對象上時,該功能會激發3次! 當改變像backgroundColor這樣的東西時,這是不明顯的,但如果我添加一個警報,這是非常明顯的。

我有什么想法我做錯了嗎? 我擔心這可能會對以后的性能產生影響。

謝謝

編輯:對不起,錯過“風格”關閉是一個錯字

HTML是:

<div class="bigButton">
Test</div>

由於在HTML元素中嵌套,可能會發生這種情況。 jQuery文檔在頁面底部有一個完美的例子(不要混淆mouseovermouseenter ),以及一個防止這種不需要的行為的例子。 http://api.jquery.com/mouseover/

我發現設置按鈕的功能正在多次運行 (每次頁面內容都通過ajax傳送)。 我原以為這會覆蓋 '鼠標懸停'功能,但似乎它正在添加它!

感謝你的幫助

如果它是懸停效果,你應該使用.hover.mouseenter.mouseleave

還要檢查可能是您的問題的子元素冒泡的事件。

更新

通過嘗試這個小提琴我似乎無法重現您的問題,所以您的問題在於您的HTML / JavaScript代碼。 也許你連接手柄三次?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM