0
我寫了一些jQuery,當鼠標進入區域時,jQuery刪除一個顯示:hide;屬性。點擊ancor標籤後,jQuery mouseover將不起作用
它在第一次加載頁面時起作用,但是,當其中一個錨標籤被點擊時,它在未隱藏的元素中,鼠標打開菜單,但一旦鼠標移到上面時不會保持打開狀態菜單。
我該如何解決這個問題?
$(document).ready(function() {
$('#kDropdown, .hidden-dropdown .row .columns').bind('mouseenter', function(e) {
$(".hidden-dropdown").removeClass("hide");
});
$('#kDropdown, .hidden-dropdown .row .columns').bind('mouseleave', function(e) {
$('.hidden-dropdown').addClass("hide");
})
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="hidden-dropdown hide">
<div class="row">
<div class="small-6 large-6 columns">
<ul style="position: relative; float: left;">
<li><a href="#">Motion Sensor</a></li>
<li><a href="#">Water Detector</a></li>
<li><a href="#">Smart Plug</a></li>
<li><a href="#">Door Sensor</a></li>
<li><a href="#">Door Sensor Pro</a></li>
</ul>
<ul style="position: relative; float: right;">
<li><a href="#">Z-Wave Extender</a></li>
<li><a href="#">Siren</a></li>
<li><a href="#">Mouser</a></li>
<li><a href="#">Water Valve</a></li>
</ul>
</div>
<!-- Trigger to open-->
<div class="hidden-dropdown hide">
<div class="row">
<div class="small-6 large-6 columns">
<ul style="position: relative; float: left;">
<li><a href="#">Motion Sensor</a></li>
<li><a href="#">Water Detector</a></li>
<li><a href="#">Smart Plug</a></li>
<li><a href="#">Door Sensor</a></li>
<li><a href="#">Door Sensor Pro</a></li>
</ul>
<ul style="position: relative; float: right;">
<li><a href="#">Z-Wave Extender</a></li>
<li><a href="#">Siren</a></li>
<li><a href="#">Mouser</a></li>
<li><a href="#">Water Valve</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
你舉的例子是不完整的。假設你的'hide' css類是'display:none;'你的例子中沒有任何東西被渲染,因爲每個東西都有隱藏類。 – RayfenWindspear
.hide類是display:none;我有jQuery呈現它。問題是它不會留下來。 – Quesofat
@RayfenWindspear是正確的 - 一切都默認隱藏,所以沒有什麼可以觸發mouseenter事件。我注意到你嵌套了「隱藏下拉」對象,你是否只想隱藏嵌套層次? – Lopsided