是否可以停止脚本并在继续输入之前等待用户输入? 这是我需要停止的部分:
var nName = document.getElementById("b1");
nName.innerHTML = "Continue";
document.getElementById("b1").onclick = newName();
“ b1”是一个HTML按钮,我想在之后将其停止
nName.innerHTML = "Continue";
并等待用户点击按钮后再发射
document.getElementById("b1").onclick = newName();
使用return完全停止脚本。还有其他可能的方法吗?
答案 0 :(得分:0)
您不需要停止脚本。你不能。
像这样传递对函数的引用(函数名称上没有括号):
document.getElementById("b1").onclick = newName;
示例:
function firstClick(){
document.getElementById('b1').innerHTML = "Continue"
// override the first click listener. "firstClick" will no longer be called.
document.getElementById('b1').onclick = newName;
}
function newName(){
document.getElementById('b1').innerHTML = "Good Job!"
}
// listen for first click
document.getElementById('b1').onclick = firstClick
<button id=b1>Click Me!</button>
为了完全了解正在发生的事情,我必须推荐您使用Google和文档,尤其是实验。
但是简而言之,不是技术术语。
onclick
本身不执行任何操作。需要告诉它做什么。浏览器将执行您告诉它的操作。只能分配1个功能。因此,如果您执行onclick=a; onclick=b; onclick=c
,则只会调用c
。
如果为函数名称分配了括号onclick = newName()
,那么您正在执行的是运行newName()并将其返回值分配给onclick。所以在这种情况下-什么都没有。如果您执行onclick=newName
,则浏览器会自动添加括号。
您甚至可以创建“分类”功能来决定下一步是什么:
function triage(){
var el = document.getElementById('b1');
if (el.innerHTML == "Continue"){
el.innerHTML = 'Good Job!';
}else{
el.innerHTML = 'Continue';
}
}
// listen for first click
document.getElementById('b1').onclick = triage
<button id=b1>Click Me!</button>