jQuery委托mouseover mouseout事件未在第一次mouseover时触发
如果我鼠标悬停和鼠标悬停。激活工具提示一次,它将继续工作。但是第一次鼠标悬停不会触发任何动作。有人知道这是什么原因吗jQuery委托mouseover mouseout事件未在第一次mouseover时触发,jquery,Jquery,如果我鼠标悬停和鼠标悬停。激活工具提示一次,它将继续工作。但是第一次鼠标悬停不会触发任何动作。有人知道这是什么原因吗 $('.task_box').delegate('.activate_tooltip', 'mouseover mouseout', function(event) { if (event.type == 'mouseover') { clearTimeout(timeOut);
$('.task_box').delegate('.activate_tooltip', 'mouseover mouseout', function(event) {
if (event.type == 'mouseover') {
clearTimeout(timeOut);
$(this).prev().find('.tooltip_2').show();
} else if (event.type == "mouseout") {
timeOut = setTimeout(hideToolTip, 0);
}
});
<div class="edit_task_icon_div" style="position:relative;">
<div style="position:relative">
<div class="tooltip_2" style="position: absolute; top: 20px; left: -6px;">
<div class="tooltip_2_text">Edit</div>
</div>
</div>
<a href="#" id="edit_{{task.id}}" class="pencil_button activate_tooltip"></a>
</div>
$('.task_-box')。委托('.activate_-tooltip','mouseover-mouseout',函数(事件){
如果(event.type=='mouseover'){
clearTimeout(超时);
$(this.prev().find('.tooltip_2').show();
}else if(event.type==“mouseout”){
timeOut=setTimeout(hideToolTip,0);
}
});
编辑
将此event.type=“mouseout”
更改为event.type==“mouseout”
使用
mouseenter
和mouseleave
,而不是mouseover
和mouseout
解决它。clearTimeout由于某种原因导致了该问题。当我使用.hover事件时,它起作用了,但是在委托中注释它似乎可以解决问题。不知道为什么 哎呀,我没注意到。但仍然没有解决问题。@ThinkingBits:使用mouseenter和mouseleave,而不是mouseover和mouseoutSame解决mouseenter和mouseleave的问题mouseleave@ThinkingInBits:你能发布你的html吗?