我正在隱藏文檔準備就緒的控制面板(myNestContainer
)。我有一個名爲navMyNest
的按鈕,當mouseenter
發生時,顯示myNestContainer
。這工作正常。mouseenter/mouseleave受嵌套子對象的影響
的問題是,我希望用戶能夠探索控制面板,但鑑於有嵌套DIV容器在myNestContainer
,只要輸入之一,mouseleave
生效,面板關閉控制。
這是工作好得多,然後mouseenter
/mouseout
,但仍然沒有我想要的功能。
有關如何覆蓋子對象的任何想法,以便在用戶查看時控制面板保持打開狀態?
在此先感謝。
$(document).ready(function() {
$("div#myNestContainer").hide();
});
$("div#navMyNest").live("mouseenter", function(event) {
$("div#myNestContainer").show();
});
$("div#myNestContainer").live("mouseleave", function(event) {
$("div#myNestContainer").hide();
});
千萬不要'div#myNestContainer',忽略'div'部分。它會顯着減慢選擇器的速度。只要做'#myNestContainer'。另外,儘量不要多次運行相同的選擇器。請將其存儲在變量中。最後,當你在'live'回調函數中時,'this'被設置爲你調用它的DOM元素。因此,不要再對你的'hide'和'show'進行選擇,而是執行'$(this).hide();'。 –
@AdamTerlson:好點。另外值得一提的是,由於jQuery 1.7'live()'被棄用,而贊成'on()'。 – Tadeck
@Tadeck對,絕對值得一提。 –