【问题标题】:iframe onload event fire after appending it into some diviframe onload 事件在将其附加到某些 div 后触发
【发布时间】:2018-08-14 23:44:17
【问题描述】:

iframe onload 事件在添加到某个 div 后触发。 下面是部分代码:

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 并加载一些内容? 有什么想法吗?

【问题讨论】:

  • 加载资源时触发加载事件。设置 src 属性与加载事件无关。

标签: javascript jquery html


【解决方案1】:

虽然您没有设置 src 空白 iframe 呈现到内容中。这就是触发 onload 函数的原因。

【讨论】:

  • 在正常情况下追加之前设置SRC..否则添加SRC后绑定函数..
【解决方案2】:

iframe 的情况下,onload 事件会在iframe 加载时触发。当 iframe 添加到您的 HTML 时,它会被加载,所以这就是 onload 被执行的原因。在属性更改时,它会再次加载。将加载事件处理程序添加到您的iframe 后,您需要将其添加到 HTML。在这里阅读更多:https://www.w3schools.com/jsref/event_onload.asp

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-23
    • 1970-01-01
    • 2014-12-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多