我目前正在使用javascript编程财务计算器,效果很好。困扰我的一件事是用户必须按下按钮来处理输入。我希望脚本从预设值开始加载并继续在后台运行,以等待用户输入。
我尝试在函数的开头(只有一个)添加onload =,但此后脚本无法继续运行。
最佳答案
您可以使用setInterval并在回调函数中侦听用户输入。
如果不需要任何常量处理,而只需要脚本在用户输入上运行,则只需使用侦听器,而无需setInterval。
如果不看代码,很难为您提供更准确的答案。
这是一个例子:
var a = document.getElementById('a');
var b = document.getElementById('b');
function someProcess() {
a.style.width == '100px' ? a.style.width = '105px' : a.style.width = '100px';
}
setInterval(someProcess, 1000);
window.addEventListener('keyup', function(e) {
if (e.keyCode == 49)
a.style.color = 'yellow';
else if (e.keyCode == 50)
b.style.color = 'yellow';
})
div {
width: 100px;
margin: 4px auto;
background: #ccf;
border: 2px solid #99f;
text-align: center;
}
<div id="a">Interval</div>
<div id="b">No Interval</div>
<p>Click here to get focus and then press 1 or 2 on your keyboard</p>
如果只需要在输入字段中有按键时调用函数,则可以执行以下操作:
var res = document.getElementById('r');
function recalc(v) {
res.textContent = v * v;
}
recalc(0);
The square of <input type="number" onkeyup="recalc(this.value)" value="0" /> is <span id="r"></span>
关于javascript - 如何自动启动javascript并使其等待输入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29164109/