【问题标题】:Why doesn't 'load' event handler bound to an <applet> get called?为什么不调用绑定到 <applet> 的“加载”事件处理程序?
【发布时间】:2011-05-08 08:33:51
【问题描述】:

我想要一个在 元素加载后执行的回调:

// Create element
var $applet = $("<applet></applet>");

// Attach handler
$applet.load(function() {
    alert('applet loaded');
});

// Set attributes
$applet.attr({
    style: 'position:absolute;left:-1px',
    name: 'TiddlySaver',
    code: 'TiddlySaver.class',
    archive: 'TiddlySaver.jar',
    width:'1',
    height:'1',
});

为什么不为 元素执行 'load' 事件处理程序? 如果我将 更改为 元素(具有有效的 src 属性),则处理程序 执行。

【问题讨论】:

标签: javascript jquery onload-event


【解决方案1】:

根据 HTML 4.01(这是网页的基本标准),只有两个元素具有 onload 属性:body 和 frameset。其他一些元素也支持它作为专有扩展(图像相当常见),但您不应该期望任何其他元素这样做。

HTML5 要求所有 HTML 元素(除了 body,它是特殊的)来支持加载事件,但你不能指望它被广泛或完全实现(如果有的话)。

【讨论】:

    【解决方案2】:

    来自jQuery documentation

    这个事件可以发送到任何元素 与 URL 关联:图像, 脚本、框架、iframe 和 窗口对象。

    这可能是原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多