Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS:在页面上加载而不是onClick_Javascript - Fatal编程技术网

Javascript JS:在页面上加载而不是onClick

Javascript JS:在页面上加载而不是onClick,javascript,Javascript,我用一个按钮来改变div的颜色。 上面有以下脚本: onclick="setActiveStyleSheet('blue'); return false;" 但我希望在加载页面时加载此脚本。我该怎么做? 试着这样做: <body onload="setActiveStyleSheet('blue')"> 但这不起作用。在页面底部使用脚本标记 <body> ... <script> setActiveStyleSheet('blue') </s

我用一个按钮来改变div的颜色。 上面有以下脚本:

onclick="setActiveStyleSheet('blue'); return false;"
但我希望在加载页面时加载此脚本。我该怎么做? 试着这样做:

<body onload="setActiveStyleSheet('blue')">


但这不起作用。

在页面底部使用脚本标记

<body>
...
<script>
  setActiveStyleSheet('blue')
</script>
</body>

...
setActiveStyleSheet('blue')

您应该使用
addEventListener
等待DOM内容加载

函数setActiveStyleSheet(颜色){
//功能体
document.getElementById('textContainer')。innerHTML=color;
}
//香草JS
document.addEventListener(“DOMContentLoaded”,function()){
log(“DOM已完全加载并准备好进行DOM操作”);
setActiveStyleSheet('blue');
});

使用Jquery

setActiveStyleSheet = function (whichColor){
 $("#myDiv").css('background',whichColor);
}

$(document).ready(function(){
 setActiveStyleSheet('blue');
});
其中“myDiv”是div名称。
签入

请共享一个请不要使用内联事件处理程序,这是不好的做法。使用
addEventListener
进行更干净的事件处理内联处理程序不工作的问题可能与未首先加载包含函数的脚本有关。在执行DOM操作的情况下,这是一个非常糟糕的主意。使用event
DOMContentLoaded
insteadBest将脚本标记放在正文内部,因为它的外部无效html@PatrickAkkers正如其他人所说,这是一个肮脏的黑客行为。最好在单独的脚本中使用适当的事件处理程序file@PatrickAkkers不要使用这种方法。还有其他更好的答案。应该是
document.addEventListener(“DOMContentLoaded”,function(){setActiveStyleSheet('blue')})