为什么'load'事件处理程序没有绑定到<applet>被调用?</applet>

时间:2011-05-08 08:33:51

标签: javascript jquery onload-event

我想要一个在&lt; applet&gt;之后执行的回调元素已加载:

// 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',
});

为什么没有为&lt; applet&gt;执行'load'事件处理程序?元素?如果我更改&lt; applet&gt;到&lt; img&gt;元素(具有有效的src属性)处理程序执行。

2 个答案:

答案 0 :(得分:2)

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

HTML5要求所有HTML元素(除了正常的主体)支持加载事件,但你不能依赖于广泛或完全实现它(如果有的话)。

答案 1 :(得分:1)

来自jQuery documentation

  

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

这可能是原因。