如果我在html正文中放入iframe,则会调用'on load'。 但是当我向身体追加一个iframe时,它就不会被调用。 为什么会这样做?可以做些什么?
$('iframe').on('load', function() {
console.log("loading iframe");
});
$body.append('<iframe id="frame" src="http://lalalala.nl/index_of/content?F=2"></iframe>');
答案 0 :(得分:2)
问题在于,当您调用$('iframe')
时,iframe尚不存在,因此您不会绑定任何元素。颠倒操作的顺序。
$body.append('<iframe id="frame" src="http://lalalala.nl/index_of/content?F=2"></iframe>');
$('iframe').on('load', function() {
console.log("loading iframe");
});
或者您可以将iframe创建为断开连接的元素并绑定它,然后附加它。
$('<iframe id="frame" src="http://lalalala.nl/index_of/content?F=2"></iframe>').on('load', function() {
console.log("loading iframe");
}).appendTo($body);
答案 1 :(得分:0)
首先尝试创建iframe元素,然后附加它:
$(document).ready(function () {
var iframe = $('<iframe id="frame" "src="..." />').on('load', function(){
alert('loaded');
});
$('body').append($(iframe));
});