好的,这是一个有点奇怪的解释,但我试着通过它。首先,我无法共享大量代码,但我会编写与编写代码类似的代码。好的,我的问题是我使用iframe在网页上进行浏览,在iframe中用户应该能够点击按钮。点击页面左侧后,应该是可以单击的所有元素的表格,在此表格中,它将滚动到连接到iframe中所述按钮的元素。现在我的问题在这里发挥作用,有三个按钮没有做我描述的。其中两个是取消按钮,另一个是重置为默认按钮(将显示它们的代码)。特别奇怪的是,还有其他取消按钮和重置按钮可以正常工作。 js文件中有一个代码是click函数,其中contentDocument是iframe的主体,但那些不工作的代码永远不会进入这个调用。
$(this.contentDocument).on('click', function(e){ does stuff and things});
这些是不起作用的代码!!!
<button type="button" name="btn-basic-form-cancel" id="btn-basic-form-cancel" class="button-small icon-cancel" onclick="">Cancel</button>
<button type="button" name="btn-basic-form-reset" id="btn-basic-form-reset" class="button-small icon-reset" onclick="">Reset to Default</button>
<button type="button" name="btn-advanced-form-cancel" id="btn-advanced-form-cancel" class="button-small icon-cancel" onclick="">Cancel</button>
这些是正在运行的代码!!!
<button type="button" name="btn-advanced-form-reset" id="btn-advanced-form-reset" class="button-small icon-reset" onclick="">Reset</button>
<button type="button" name="btn-ziplookup-form-cancel" id="btn-ziplookup-form-cancel" class="button-small icon-cancel" onclick="">Cancel</button>
<button type="button" name="btn-columns-cancel" id="btn-columns-cancel" class="button-small icon-cancel" onclick="">Cancel</button>
好的,如果你有任何进一步的问题请问,我尽力解释一切,但我有可能错过了一些东西。 ::更新我已经将它缩小到这三个按钮未被识别为contentDocument内部的事实,为什么它们周围的其他所有内容都不会出现?
答案 0 :(得分:0)
为您的iframe提供ID,然后将其引用为:
$('#myiframe').load(function(){
var iframe = $('#myiframe').contents();
iframe.find("button").on('click',function(e){
alert("test");
alert($(e.target).text());// or some such
});
});
OR
$("#myiframeid").load( function() {
$("#myiframeid").contents().on("click", "button", function() {
//do something
});
});
这些应该确保在附加事件处理程序之前加载它们。