1

我有一个 .htc 文件,其行为附加到我页面中的 div (div#test)。在文件中,顶部有一个标签,用于设置行为:

<PUBLIC:ATTACH EVENT="ondocumentready" FOR="element" ONEVENT="function1()" />

在整个文件中,有对“元素”和 this.element 的调用——我认为它指的是这个 div#test。

如果我想从这个文件中获取 JS,是否可以放入主 .html 页面?我试图在文档加载时调用该函数,但我的语法不正确。

我正在努力:

document.getElementById.('test').attachEvent(onlonad, function1());

如果我做一些基本的错误,或者如果有人能告诉我为什么这样做根本不是一个坏主意,将不胜感激!=)

4

1 回答 1

0

你在错误的地方有一个点,你将一个未定义的变量传递给函数并且你正在调用function1()而不是传递它:

document.getElementById.('test').attachEvent(onlonad,  function1());
//                     ^ this                ^   ^  ^ and these ^^

正确的语法是

document.getElementById('test').attachEvent("onload", function1);

另请注意,只有少数元素支持 onload 事件——图像、脚本和正文(映射到 window.onload)。

如果你想在文档加载时调用,那么在 IE 中会很尴尬,因为它不支持其他浏览器支持的文档就绪事件。有一些方法可以解决这个问题,或者您可以使用 window.onload 事件:

window.onload = function () {
    // Code to execute when the window is loaded here 
}
于 2010-11-05T09:22:37.143 回答