hoverIntent
我有以下代码,尽管我将selected-food
类分配给li
单击时的元素,但我无法弄清楚为什么会触发事件。
这是一个jsfiddle:http: //jsfiddle.net/7uPcc/2/
预期行为:单击列表项时,selected-food
会为其分配类(工作正常),并且在悬停时不显示包含成分的隐藏 div。我正在尝试使用该.not()
方法来实现这一目标。
实际行为:隐藏的 div 显示在悬停时,尽管悬停的项目已selected-food
分配类。
HTML
<ul>
<li class="food-name">Food 1
<div class="food-ingredients">
<ul>
<li>Ingredient 1</li>
<li>Ingredient 2</li>
<li>Ingredient 3</li>
</ul>
</div>
</li>
<li class="food-name">Food 2
<div class="food-ingredients">
<ul>
<li>Ingredient 1</li>
<li>Ingredient 2</li>
<li>Ingredient 3</li>
</ul>
</div>
</li>
</ul>
CSS
.food-ingredients {
display: none;
}
.selected-food {
color: red;
}
Javascript
$('.food-name').not('.selected-food').hoverIntent({
over: function() {
$(this).children('.food-ingredients').show();
},
out: function() {
$(this).children('.food-ingredients').hide();
},
timeout: 300
});
$('.food-name').click(function() {
$(this).toggleClass('selected-food');
});
当我$('.food-name').not('.selected-food')
在控制台中测试选择器时,我得到了预期的结果(即selected-food
不返回具有类的列表项)