這是HTML代碼:如何使鼠標離開功能停止,當鼠標懸停特定的div
<div class="item">item 01</div>
<div class="item">item 02</div>
<div class="item">item 03</div>
....
<div class="list">
<ul>
<li>store 1</li>
<li>store 2</li>
<li>store 3</li>
</ul>
</div>
現在它是如何工作的:
當我將鼠標懸停到「項0X」「列表「應該按鈕旁邊的項目0X」這工作正常。
問題是如何使列表保持可見狀態,當我再次從列表返回到按鈕時。
我嘗試使用此代碼,但它不工作
$(document).on({
mouseenter: function() {
var div = $(this);
if($('.list').css('display') == "none")
{
actionHover(div);
}
},
mouseleave: function() {
setTimeout(function(){
if($(".list").is(':hover'))
{
}
else if($(".item").is(':hover'))
{
}
else
{
$('.list').hide();
}
}, 100)
}
},".list, .item");
當鼠標從列表中走出它使一個錯誤:
Error: Syntax error, unrecognized expression: unsupported pseudo: hover
您正在使用id「item」幾次。 ID必須是唯一的!另外,取決於你有什麼jQuery版本,:懸停是越野車。只是谷歌,第一擊:http://stackoverflow.com/questions/11998514/jquery-1-8-unsupported-pseudo-hover – Alex
如果你想要做的就是隱藏'.list'當用戶沒有徘徊在' .list'或'.item',取出整個'setTimeout'部分,只留下'$('.list')。hide();' - 你的mouseleave已經被每個觸發。 – Goose
Goose:你的回答是正確的,但這會造成一個小問題,當我從按鈕粘貼到列表中時,列表隱藏得很快,所以我需要快速粘貼以便隱藏列表......任何想法? – user850690