Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery.on()-如何在加载元素后立即初始化_Jquery_Hoverintent_Jquery On - Fatal编程技术网

jQuery.on()-如何在加载元素后立即初始化

jQuery.on()-如何在加载元素后立即初始化,jquery,hoverintent,jquery-on,Jquery,Hoverintent,Jquery On,我正在尝试将hoverIntent插件添加到我页面上的元素中,但是稍后会将一些元素添加到DOM中,这意味着我还必须将插件绑定到未来的元素。你是怎么做到的?同样的问题我已经在网上见过好几次了,但没有人有明确的解决方案?实现这一点的最佳方法是在向页面添加新元素时引发自定义事件。然后,此事件的订阅者可以调用相应的hoverIntent初始化器 将以的形式提供更多的本机支持,但是浏览器支持目前几乎为零 侦听domsubtremodified事件不可靠,会导致重大性能问题。jQuery中不支持这样做;这是

我正在尝试将hoverIntent插件添加到我页面上的元素中,但是稍后会将一些元素添加到DOM中,这意味着我还必须将插件绑定到未来的元素。你是怎么做到的?同样的问题我已经在网上见过好几次了,但没有人有明确的解决方案?

实现这一点的最佳方法是在向页面添加新元素时引发自定义事件。然后,此事件的订阅者可以调用相应的hoverIntent初始化器

将以的形式提供更多的本机支持,但是浏览器支持目前几乎为零


侦听
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支持事件委派,而不需要额外的插件。下面我的答案是一个例子。变异观察者的支持现在看起来不错