jQuery live和委派可能无法在插件中工作?
我想在鼠标悬停在元素的容器上时显示元素。那个插件不行。 这可能对你有帮助 在您的插件中,您不必使用事件委派,这取决于使用插件的人。您正在调用jQuery live和委派可能无法在插件中工作?,jquery,Jquery,我想在鼠标悬停在元素的容器上时显示元素。那个插件不行。 这可能对你有帮助 在您的插件中,您不必使用事件委派,这取决于使用插件的人。您正在调用$(此))上的.live(),这意味着它将丢失它所需的原始选择器 由于不需要为每个元素分配多个.live()处理程序,只需执行以下操作: $.fn.tool = function(sel){ this.each(function(){ $this=$(this); $this.live('mouseover mouse
$(此)
)上的.live()
,这意味着它将丢失它所需的原始选择器
由于不需要为每个元素分配多个.live()
处理程序,只需执行以下操作:
$.fn.tool = function(sel){
this.each(function(){
$this=$(this);
$this.live('mouseover mouseout',function(e){
if(e.type=='mouseover')
{
$this.find(sel).show();
}
else
{
$this.find(sel).hide();
}
});
});
}
请注意:您应该返回jQuery对象,我认为:
返回这个。每个(…)
。我真的不明白为什么它不起作用。控制台中有错误吗?@Robin:adding return仍然不起作用,可以,但是您的代码丢失了(),$这应该是$(这)。@runforest:you's right,我忘了更新那部分代码。谢谢o)
$.fn.tool = function(sel){
return this.live('mouseover mouseout',function(e){
if(e.type=='mouseover') {
$(this).find(sel).show();
} else {
$(this).find(sel).hide();
}
});
}