我从主页脚本中动态地将内容加载到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和事件委派解决我的问题?
答案 0 :(得分:0)
我很抱歉你的时间,我的问题是我在包含的文件(layer1.html
)上再次包含jQuery,可能导致两个不相关的jQuery实例,具有不同的事件存储。确保jQuery仅包含在主文件中允许我再次使用简单触发器。谢谢!