我的网页加载了iframe。 iframe包含一个小标记,包括“Click”
我有一个js文件,包含它控制按钮的点击事件。 目前,JS文件包含在我的iframe加载的小页面中。
我想在包含页面级别包含我的javascript库,而不是在iframe加载的页面中。所以,我感动了它。那些了解你的东西的人,听到的不会感到惊讶 当我这样做时,click()事件停止了。
$(document).ready(function(){
$('#filter_button').click(function(){
//operations
});
});
我松散地理解,这是因为.ready函数在iframe加载之前遍历DOM ...但我不知道如何处理它。有什么帮助吗?
答案 0 :(得分:3)
如果要在运行代码之前确保所有内容都已加载,图像,iframe等(不仅仅是DOM已准备好),您可以使用jQuery的.load()代替{{1 }}:
$(document).ready(function(){});
答案 1 :(得分:3)
尝试使用带有回调的jQuery load()方法,在加载完成后加载页面上的事件。
将path_to_page.html替换为您当前的iframe网址:
$(document).ready(function(){
$('#loadedContent').load('path_to_page.html', function() {
$('#filter_button').click(function(){
//operations
});
});
});
用以下内容替换你的iframe:
<div id="loadedContent"></div>
答案 2 :(得分:0)
我在我的主页面上设置了iframe attr():
$("#my_iframe") .attr( "src", template ) // template is the iframe content path
.one( "load", function() {
$("#my_iframe")[0].contentWindow.$('body').trigger('contentReady');
} ).each( function() {
if( this.complete ) //trigger load if cached in certain browsers
$(this).trigger("load");
} );
然后以这种方式将我的代码放在iframe中:
$(window).on( "contentReady", function(e) {
// code I usually initiate with document ready
} );
我不是javascript专家。 attr()...... on。(&#34; load&#34; ...技术我从其他人那里学到了交换图像。所以我把它和我的iframe脚本结合起来。它对我有用。希望这是正确的要这样做,没有人会因此而投票给我......