如何在这里使用jQuery事件委托?

时间:2018-05-17 19:39:44

标签: jquery html5 custom-events

我从主页脚本中动态地将内容加载到div

$(function() {
    $('#myDiv').load('layer2.html');
}

然后,我希望在主页脚本上接收layer2.html相应脚本发送的自定义事件。如果我在主要的一个上添加:

$(document).on('event1', function () {
        window.alert('event1 received');
});

以下layer2.html脚本:

var event = new Event('event1');
document.dispatchEvent(event);

它有效(警报显示)。请注意,上面不是jQuery。但是使用jQuery触发事件的方式如下:

$(document).trigger('event1');

即使我尝试在event delegation系统上成功进行以下更改,也不起作用,从我以前的读物中我理解这就是我的情况:

$(document).on('event1', '#myDiv', function() {
    window.alert('event1 received');
});

最后,我想注意我发现了类似的问题,但它们仅针对click事件或其他原生事件而不是自定义事件进行处理。

如何使用jQuery和事件委派解决我的问题?

1 个答案:

答案 0 :(得分:0)

我很抱歉你的时间,我的问题是我在包含的文件(layer1.html)上再次包含jQuery,可能导致两个不相关的jQuery实例,具有不同的事件存储。确保jQuery仅包含在主文件中允许我再次使用简单触发器。谢谢!