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

Anr*_*rgh 5 jquery hoverintent jquery-on

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

Fra*_*dge 9

使用" selector "参数进行事件委派.

$('#PARENT').hoverIntent({
    over: function() {
        console.log($(this));
    },
    out: function(){
        console.log($(this));
    },
    selector: '.CHILD'
});
Run Code Online (Sandbox Code Playgroud)

来源:hoverIntent文档


Mat*_*att 2

jQuery 不支持这样做;这是插件本身必须支持的东西。最常见的方法是在添加新内容后简单地重新初始化插件;这通常不是问题。

另一种选择是使用liveQuery插件,并执行类似的操作;

$('yourSelector').livequery(function () {
    $(this).hoverIntent({
        // blah
    });
});
Run Code Online (Sandbox Code Playgroud)