Javascript iframe中动态创建的元素上的事件绑定
在我的应用程序中,添加了将div元素动态附加到其父div元素的代码。我可以使用Javascript iframe中动态创建的元素上的事件绑定,javascript,jquery,html,iframe,Javascript,Jquery,Html,Iframe,在我的应用程序中,添加了将div元素动态附加到其父div元素的代码。我可以使用$('#FrameId').contents().find('#id')。但是,当我尝试获取新附加的div元素时,它会显示未定义的。为什么我不能访问新添加的div元素 用于附加新的div元素,使用以下代码: $('#frameId').contents().find("#id").append("<div class="sample">Some text</div>"); $('#frameI
$('#FrameId').contents().find('#id')代码>。但是,当我尝试获取新附加的div元素时,它会显示未定义的。为什么我不能访问新添加的div元素
用于附加新的div元素,使用以下代码:
$('#frameId').contents().find("#id").append("<div class="sample">Some text</div>");
$('#frameId').contents().find(".sample").click(function(){});
其中,不会触发click事件,因为它无法找到.sample div元素。您可以使用iframe事件。有关详细信息,请在下面的示例中查找
对于动态创建的元素上的click事件,您必须使用
委派事件的优点是,它们可以从中处理事件
以后添加到文档中的子元素
将这些代码放入加载函数$('#frameId').load(函数(){$(this).contents().find(“#id”).append(“一些文本”);$(this.contents().find(.sample”).click(函数(){});});是否已检查是否已将新元素附加到DOM?根据特定的根元素集,现在或将来为与选择器匹配的所有元素的一个或多个事件附加一个处理程序。尝试了此代码,但无效。我认为新添加的元素不会附加到DOM元素。当我尝试获取新添加的元素时,我无法获取它。但我尝试了在iframe中添加相同的预定义html代码,我可以得到它。有什么想法吗@好奇的人
$('#frameId').on('load', function(){
$(this).contents().find('body').on('click', '.sample', function(e){
//Do some stuff
});
});