Pab*_*dez 1 jquery events dom event-bubbling
我有这个标记(简化):
<div class='item'>
<a> one link </a>
<a class='trash'><img src='trash.png'/></a>
</div>
Run Code Online (Sandbox Code Playgroud)
我在鼠标进入时突出显示div,并显示(否则隐藏)'垃圾'链接(它就像一个小垃圾桶),以便用户可以删除链接.
我不能使用'悬停'效果,因为我需要它们作为直播活动.所以我正在做mouseover和mouseout.这是代码:
$('div.link').live('mouseout', function(e){
console.log(e)
if(e.target == this){
$(this).removeClass('hover');
$(this).children('a.trash').fadeOut();
}
});
Run Code Online (Sandbox Code Playgroud)
(鼠标悬停在完全相反的位置).
动画看起来很古怪,我做错了什么?
非常感谢!
ben*_*wey 13
在mouseover与mouseout当鼠标进入和离开任何子元素的事件也被解雇.请尝试使用mouseenter和mouseleave事件.
不幸的是,live方法目前不支持这些方法.添加/删除链接时,您必须手动绑定它们.
function toggleDelete() {
$(this)[($(this).hasClass('hover') ? 'remove' : 'add') + 'Class']('hover');
$(this).find('a.trash').toggle();
}
$('div.link').bind('mouseenter, mouseleave', toggleDelete);
$('.add').click(function(e) {
var link = $('<a />').addClass('link');
link.bind('mouseenter, mouseleave', toggleDelete);
$('.parent').append(link);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5079 次 |
| 最近记录: |