调用onclick =“function(this);”负载?

时间:2012-10-14 10:22:13

标签: javascript html checkbox

我有一个包含以下代码的复选框:

<input type="checkbox" id="check" onclick="function(this);" checked="checked" />

但在同样的情况下,我希望在页面加载时进行调用。 如何手动复制“this”?

我尝试添加onload =“function(this);”输入,但没有用。 如果我只是调用“function();”在页面加载然后该功能自然不起作用。

如果我可以手动调用类似函数(htmlElement [check]);那就太好了。或者“这个”构成的任何东西。

希望我已经明确表示:)

5 个答案:

答案 0 :(得分:3)

在您的情况下,this将引用input元素。由于该元素具有ID,因此您可以使用getElementById方法轻松获取对它的引用:

yourFunction(document.getElementById("check"));

您可以将其放在onload元素的body属性中,但理想情况下,请停止使用内联事件处理程序并改为使用addEventListener方法。

答案 1 :(得分:0)

尝试:

onload="function(document.getElementById('check'));"

答案 2 :(得分:0)

您可以通过id获取元素,并在window.onload回调函数中执行此操作。

window.onload = function () {
  yourFunction(document.getElementById('check'));
}

答案 3 :(得分:0)

就我的理解而言,onload仅适用于<body>标记

您可能想要尝试的是:

$(document).ready(function() {
  // Handler for .ready() called.
});

源:http://api.jquery.com/ready/

答案 4 :(得分:0)

您可以使用以下内容:

document.addEventListener( "DOMContentLoaded", function(){
        document.removeEventListener( "DOMContentLoaded", arguments.callee, false );
        yourFunction(document.getElementById("check"));     
}, false );

您必须避免使用:

window.onload = function() {
}

因为以这种方式你将覆盖onload函数(如果已经以这种方式附加到onload)。当你想在单独的文件中使用JavaScript时,这种方法非常好(最好的解决方案)。