我的html中有一个带有空白数据属性的对象元素,然后在ajax响应后设置。现在我想在对象内容文档的DOM准备就绪时获取事件。
如果我在对象元素上使用onload,它在firefox和Opera中工作,但它在基于Webkit的浏览器中不起作用。
如何在所有浏览器中使用onload事件触发器
html看起来像这样
<object id="myobj" data="" />
在FF中工作但在WebKit中不起作用的javascript是
e = doc.getElementById("myobj")
e.onload = function(){}
e.data="http://myurl"
答案 0 :(得分:0)
理论上onload
是strictly for the body
element。如果某些浏览器允许其他元素为它们提供更多功能,但这不是必需的。
另外:你的分号键坏了吗?
答案 1 :(得分:0)
我已经尝试使用Safari 5.0.2的代码并且它有效。您可以在分配新值后通过警报进行验证。当您查看源时,它不存在,但可以从任何方法访问新分配的值。
e.data="http://myurl";
alert(e.data);
即:
function doThis() {
var data = document.getElementById("myobj");
alert('retrieved from a method ' + data.data);
}
答案 2 :(得分:-3)
在jQuery中,要在页面加载时调用某些内容,您只需使用:
$(document).ready(function()
{
//your code here to populate your object's data attributes
});
这适用于所有浏览器。