JavaScript 按钮不会等待被单击
javascript button doesn't wait for to be clicked
我创建了一个简单的随机颜色生成器应用程序。障碍在于,通过javascript创建的按钮甚至在任何点击事件之前都会自动点击。我是JavaScript的新手这是我的整个代码。提前谢谢。
<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript">
function btn(){
var cgen = document.createElement('button');
cgen.innerHTML = 'Generate';
document.body.appendChild(cgen);
cgen.style.width = '100%';
cgen.style.fontSize = '20px';
cgen.style.border = '2px solid red';
cgen.onclick = paintDivs();
// cgen.setAttribute("onclick", paintDivs());
}
function genColor(){
var randomColor = "#" + Math.floor(Math.random()*16777215).toString(16);
return randomColor;
}
function paintDivs(){
for (var i = 0; i < 500; i++) {
var fColor = genColor();
var bColor = genColor();
var div = document.createElement('div');
div.innerHTML = 'Text ' + fColor + ' Back ' + bColor;
div.style.color = fColor;
div.style.background = bColor;
div.style.width = '24%';
div.style.float = 'left';
div.style.margin = '5px';
div.style.height = '60px';
div.style.fontSize = '18px';
div.style.lineHeight = '60px';
div.style.textAlign = 'center';
div.style.borderRadius = '20px';
document.body.appendChild(div);
}
}
</script>
</head>
<body onload="btn();" style="background-color: gray;">
</body>
</html>
</html>
cgen.onclick = paintDivs();
这会立即调用paintDivs()
并将cgen.onclick
设置为其返回值。 你想要的是这个:
cgen.onclick = paintDivs;
尝试下面的代码。有变化 cgen.onclick = paintDivs();to cgen.onclick = paintDivs;
<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript">
function btn(){
var cgen = document.createElement('button');
cgen.innerHTML = 'Generate';
document.body.appendChild(cgen);
cgen.style.width = '100%';
cgen.style.fontSize = '20px';
cgen.style.border = '2px solid red';
cgen.onclick = paintDivs;
// cgen.setAttribute("onclick", paintDivs());
}
function genColor(){
var randomColor = "#" + Math.floor(Math.random()*16777215).toString(16);
return randomColor;
}
function paintDivs(){
for (var i = 0; i < 500; i++) {
var fColor = genColor();
var bColor = genColor();
var div = document.createElement('div');
div.innerHTML = 'Text ' + fColor + ' Back ' + bColor;
div.style.color = fColor;
div.style.background = bColor;
div.style.width = '24%';
div.style.float = 'left';
div.style.margin = '5px';
div.style.height = '60px';
div.style.fontSize = '18px';
div.style.lineHeight = '60px';
div.style.textAlign = 'center';
div.style.borderRadius = '20px';
document.body.appendChild(div);
}
}
</script>
</head>
<body onload="btn();" style="background-color: gray;">
</body>
</html>
</html>
相关文章:
- 单击按钮以等待单击按钮
- 等待,直到使用Java在selenium网络驱动程序中手动单击登录按钮
- 如何等待单击事件完成
- 模拟单击选项并等待更改事件完成
- 在单击事件时更新主干模型,并在更改位置之前等待响应
- 请等待加载栏上的按钮单击未显示
- 用户单击提交时的等待指示器
- 硒显式等待,等到按钮列表可单击
- 等待文档鼠标按下完成,然后元素单击才能开始
- 使用Python和SeleniumWebDriver等待并单击可见按钮
- Jquery等待循环中带有ajax调用的函数完成-单击按钮后刷新
- 如何在html中调用元素的onClick事件并等待单击发生.来自javascript中的另一个函数
- 等待在QML界面中单击两个按钮
- 单击myFunction并等待它完成
- iMacros可以单击按钮而不等待响应吗?
- 如何在dojo中创建等待事件,等待用户在继续之前单击按钮
- 在执行同步ajax请求之前,在单击按钮时显示等待光标
- 单击按钮,等待并重新加载页面
- 等待单击,然后在javascript中在500毫秒后自动单击按钮
- href/button单击将否决下一步,并在不等待用户输入的情况下执行操作