我有问题。 我正在寻找文档范围的点击事件,但我的网站的大块是通过带有innerHTML对象的div加载的。
<div id="contentHolder">
<script>
document.getElementById("contentHolder").innerHTML='<object type="text/html" id="content" data="article.html"></object>';
</script>
</div>
这样的听众:
$(document).on("click", function (event){
alert("Click");
});
仅注册点击ContentHolder
之外的元素。
我意识到加载的内容可能有自己的document
。
您是否知道我可以在Object
内引用此内容的方式? :)
我读了jQuery委托,但它似乎没有提供我的问题的解决方案。
我在Codepen上设置了一个半工作示例。它似乎不允许加载外部页面,这是可以理解的 - 但即使没有任何实际加载,问题仍然存在。该示例在本地工作。
HTML Object
作为容器,并且监听器不仅会从子文档的事件中保持活动状态,还会保持活动状态。
$.get('document.html', function(result) {
$('#container').append(result);
});`
答案 0 :(得分:0)
你可以试试这个:
$('#contentHolder').on('click', '.class-to-be-named', function() {
// do your click stuff
});
它将绑定#contentHolder
上的点击事件,只要您在#contentHolder
内点击,它就会查找是否点击了元素#contentHolder
,何时调用回调。
答案 1 :(得分:0)
HTML Object
作为容器,并且监听器不仅可以从子文档的事件中保持活动状态,还可以保持活动状态。
$.get('document.html', function(result) {
$('#container').append(result);
});