jQuery.on()-如何在加载元素后立即初始化
我正在尝试将hoverIntent插件添加到我页面上的元素中,但是稍后会将一些元素添加到DOM中,这意味着我还必须将插件绑定到未来的元素。你是怎么做到的?同样的问题我已经在网上见过好几次了,但没有人有明确的解决方案?实现这一点的最佳方法是在向页面添加新元素时引发自定义事件。然后,此事件的订阅者可以调用相应的hoverIntent初始化器 将以的形式提供更多的本机支持,但是浏览器支持目前几乎为零jQuery.on()-如何在加载元素后立即初始化,jquery,hoverintent,jquery-on,Jquery,Hoverintent,Jquery On,我正在尝试将hoverIntent插件添加到我页面上的元素中,但是稍后会将一些元素添加到DOM中,这意味着我还必须将插件绑定到未来的元素。你是怎么做到的?同样的问题我已经在网上见过好几次了,但没有人有明确的解决方案?实现这一点的最佳方法是在向页面添加新元素时引发自定义事件。然后,此事件的订阅者可以调用相应的hoverIntent初始化器 将以的形式提供更多的本机支持,但是浏览器支持目前几乎为零 侦听domsubtremodified事件不可靠,会导致重大性能问题。jQuery中不支持这样做;这是
侦听
domsubtremodified
事件不可靠,会导致重大性能问题。jQuery中不支持这样做;这是插件本身必须支持的。最常见的方法是在添加新内容后简单地重新初始化插件;这通常不是问题
另一个选择是使用,并做类似的事情
$('yourSelector').livequery(function () {
$(this).hoverIntent({
// blah
});
});
尝试更改jquery结构
ABC = {
init: function() {//all function names goes here
ABC.myFunction1();
ABC.myFunction2();
ABC.myFunction3();
},
myFunction1: function() {
//code
},
myFunction2: function() {
//code
},
myFunction3: function() {
//code
}//dont put comma last one
}
$(function() {
ABC.init();//calls all functions after everything is initialized and ready.
});
使用“选择器””参数进行事件委派
$('#PARENT').hoverIntent({
over: function() {
console.log($(this));
},
out: function(){
console.log($(this));
},
selector: '.CHILD'
});
来源:你是不是想等到;加载的图像或jquery函数?使用作为事件实现的hoverintent插件,以支持委派<代码>“hoverintent”应该是事件而不是方法:X@barlas实际上没有,新内容是用InfiniteScroll加载的。@Esailija据我所知,我不知道你在告诉我什么,只有一个HoverIntent插件,也只有一种方法可以实现它。@AnriëtteCombrink我的意思是你可以将它实现为一个事件-事件支持委托,所以它非常简单。比如,我编写了一个
re_init()
函数,其中包含加载新内容后需要重新初始化的所有代码。我只是意识到,在我开始使用这个函数时,需要重新初始化的代码比hoverIntent要多。对于遇到这个问题的任何人来说:hoverIntent支持事件委派,而不需要额外的插件。下面我的答案是一个例子。变异观察者的支持现在看起来不错