Jquery ui mouseleave在jquery中不工作
我的mouseleave在jquery代码中不起作用 下面提供我的js代码Jquery ui mouseleave在jquery中不工作,jquery-ui,jquery,jquery-plugins,jquery-selectors,Jquery Ui,Jquery,Jquery Plugins,Jquery Selectors,我的mouseleave在jquery代码中不起作用 下面提供我的js代码 mouseleave: function () { $(this).find("div:last").remove(); } 您是否尝试过这种方式: mouseleave: function () { $("div:last",this).remove(); } 问题不在于mouseleave侦听器,问题在于如何绑定这些事件处理程序并解除它们的绑定。div正在被删除,但每次mouseenter事件都会
mouseleave: function () {
$(this).find("div:last").remove();
}
您是否尝试过这种方式:
mouseleave: function () {
$("div:last",this).remove();
}
问题不在于
mouseleave
侦听器,问题在于如何绑定这些事件处理程序并解除它们的绑定。div正在被删除,但每次mouseenter
事件都会读取该div。由于某些原因,在使用.on()
的选择器时,鼠标指针事件没有解除绑定。这可能与这条路有关
当提供选择器时,事件处理程序称为委派。当事件直接发生在绑定元素上时,不会调用该处理程序,而仅针对与选择器匹配的子体(内部元素)。jQuery将事件从事件目标冒泡到附加处理程序的元素(即,从最内层到最外层的元素),并为与选择器匹配的路径上的任何元素运行处理程序
现在,我还不能100%确定为什么,但如果您使用直接绑定处理程序,无论哪种方式都会起作用,如下所示:
$('.specialHover').on({
mouseenter: function() {
$("<div class='cta'>add image</div>").click(function() {
var $me = $(this);
$me.parent().unbind('mouseenter').children('img').attr(
'src',
'http://www.onlinegrocerystore.co.uk/images/goodfood.jpg'
);
$me.remove();
}).appendTo(this);
},
mouseleave: function() {
$(this).find('div:last').remove();
}
});
$('.specialHover')。在({
mouseenter:function(){
$(“添加图像”)。单击(函数(){
var$me=$(这个);
$me.parent().unbind('mouseenter').children('img').attr(
“src”,
'http://www.onlinegrocerystore.co.uk/images/goodfood.jpg'
);
$me.remove();
}).附于(本);
},
mouseleave:function(){
$(this.find('div:last').remove();
}
});
请参阅:您的
mouseleave
侦听器的预期行为是什么?对于200行代码中的问题,这是一个很好的描述?@mmmshuddup:在添加图像操作之后…对于特定的img标记,鼠标悬停时不应再出现添加图像按钮@adeneo@mmmshuddup:你们收到了吗是的,我现在明白了。这很奇怪。你能更具体地说它应该在你的小提琴中删除什么,可能是我没有正确地得到它。非常感谢你…你能给你的skype或gmail id吗…我不明白你的解释…所以我可以直接给你打电话