for (var i = 0; i < items.length; i++) {
addContent(element, items[i], loadData_.bind(this, i, items));
}
function appendNew(element, item, cb) {
var itemContainer = $('<div>')
.addClass('someclass');
var chart = $('<iframe>')
.css('height', 677)
.attr('frameBorder', "0")
.attr('scrolling', 'no')
.on('load', function() {
cb();
});
itemContainer.append(chart);
tabContent.append(itemContainer);
}
因此,现在在此代码tabContent.append(itemContainer);
之后触发了加载事件。为什么在我未设置src并加载一些内容的情况下触发此事件?
有什么主意吗?
答案 0 :(得分:2)
答案 1 :(得分:1)
对于iframe
,在加载onload
时会触发iframe
事件。当将iframe
添加到HTML时,它将被加载,这就是执行onload
的原因。在属性更改时,它将再次加载。将加载事件处理程序添加到HTML之后,需要将其添加到iframe
中。在此处阅读更多信息:https://www.w3schools.com/jsref/event_onload.asp