我有一个包含以下代码的复选框:
<input type="checkbox" id="check" onclick="function(this);" checked="checked" />
但在同样的情况下,我希望在页面加载时进行调用。 如何手动复制“this”?
我尝试添加onload =“function(this);”输入,但没有用。 如果我只是调用“function();”在页面加载然后该功能自然不起作用。
如果我可以手动调用类似函数(htmlElement [check]);那就太好了。或者“这个”构成的任何东西。
希望我已经明确表示:)
答案 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.
});
答案 4 :(得分:0)
您可以使用以下内容:
document.addEventListener( "DOMContentLoaded", function(){
document.removeEventListener( "DOMContentLoaded", arguments.callee, false );
yourFunction(document.getElementById("check"));
}, false );
您必须避免使用:
window.onload = function() {
}
因为以这种方式你将覆盖onload函数(如果已经以这种方式附加到onload)。当你想在单独的文件中使用JavaScript时,这种方法非常好(最好的解决方案)。