悬停事件在第一次调用鼠标时停止鼠标输入事件
Hover event stopping a mouse enter event the first time its called.
我有一个项目列表,用户可以通过javascript添加到其中。我想要的是当用户将鼠标悬停在列表项上时,使字形图标可见。现在它可以工作,但只有在用户将鼠标移入然后将鼠标移出列表项之后。在他们这样做之后,一旦他们将鼠标移回列表项,它就会开始工作。
Jquery:
//When the user hovers over a list item give them the option to delete it
$('.list-item-container').hover(function(){
$('.list-item').on({
mouseover: function(){
$('.glyphicon-remove', this).css('visibility', 'visible');
//When the user click to remove the list item remove it from the list
$('.glyphicon-remove').on('click', function(){
//TODO: Popup modal for delete confirmation
$(this).parent().remove();
});
},
mouseout: function(){
$('.glyphicon-remove', this).css('visibility', 'hidden');
}
});
});
Html:
<div class="list-item-wrapper">
<ul class="list-item-container">
<li class="row list-item">
<input type="checkbox" class="item-done">
<label for="list-done">My to-do-list</label>
<span class="glyphicon glyphicon-remove pull-right"></span>
</li>
</ul>
</div>
您的jQuery代码将事件附加到mouseover上(每次都是这样-不太好)-所以您的代码没有按照您的意愿执行。
使用CSS,这要容易得多。
.glyphicon-remove {
visibility: hidden;
}
.list-item-container:hover .glyphicon-remove {
visibility: visible;
}
然后,唯一需要的JavaScript就是删除元素。
$('.list-item-container').on('click', '.glyphicon-remove', function() {
$(this).parent().remove();
});
相关文章:
- 鼠标输入在 YUI 的 chrome 中不起作用
- 使用鼠标输入图表时禁用自动点悬停
- 鼠标输入和鼠标离开不起作用
- 鼠标输入鼠标离开没有按照我认为应该的方式工作
- 鼠标输入悬停分区显示/隐藏
- 清除间隔在鼠标输入上不起作用
- 鼠标输入事件上的jQuery延迟出现问题
- jQuery-鼠标输入闪烁图像
- 鼠标输入事件未触发
- 临时取消绑定鼠标输入从元素
- 悬停(),鼠标输入(),鼠标悬停()等来回跳跃
- 如何在鼠标输入时对字体大小进行动画处理
- 在单击时对元素进行动画处理,并在该元素和其他元素上单击鼠标输入/鼠标离开
- JS:鼠标输入的触摸等效项
- 防止“鼠标输入”回调函数,直到“突出显示”效果完成
- FF 鼠标离开/鼠标输入事件
- jQuery在鼠标输入时更改css,但仅输入内容而不是全部
- 如何使鼠标输入功能具有淡入淡出效果并保持在那里
- jQuery:单击时,防止鼠标输入事件
- 鼠标输入/鼠标离开产生闪烁效果