Javascript 每次从文本区域输入或删除值时运行函数,以立即查找总和
我编写了一个简单的JavaScript来解决加法问题(1+1或1+5+2+9,等等)。它很好用 问题是我希望它在输入新值时继续运行。一旦我输入“1+1”,它应该显示2,如果我继续输入并输入“+1”,它应该显示3,依此类推 连续运行的部分在一定程度上起作用。如果我输入“1+1”,在我按下空格键之前,总和不会显示,但它应该立即显示2,而无需按下空格键。我错过了什么 小提琴: HTMLJavascript 每次从文本区域输入或删除值时运行函数,以立即查找总和,javascript,Javascript,我编写了一个简单的JavaScript来解决加法问题(1+1或1+5+2+9,等等)。它很好用 问题是我希望它在输入新值时继续运行。一旦我输入“1+1”,它应该显示2,如果我继续输入并输入“+1”,它应该显示3,依此类推 连续运行的部分在一定程度上起作用。如果我输入“1+1”,在我按下空格键之前,总和不会显示,但它应该立即显示2,而无需按下空格键。我错过了什么 小提琴: HTML JavaScript var input = document.getElementById("addThis"
JavaScript
var input = document.getElementById("addThis");
input.onkeypress = function() {
var finalAnswer = 0;
// Get form input
var processAddThis = addThis.value;
// Remove all spaces in problem
// Example problem: 10 + 3 + 2
processAddThis = processAddThis.replace(/\s/g,''); // 10+3+2
// Split numbers into an array
var addTheseValues = processAddThis.split("+");
// Go through numbers and add them up
for (var i = 0; i < addTheseValues.length; i++) {
finalAnswer += Number(addTheseValues[i]);
}
// Display sum
sum.innerHTML = finalAnswer;
}
var input=document.getElementById(“addThis”);
input.onkeypress=函数(){
var finalAnswer=0;
//获取表单输入
var processAddThis=addThis.value;
//删除问题中的所有空格
//示例问题:10+3+2
processAddThis=processAddThis.replace(//\s/g',);///10+3+2
//将数字拆分为数组
var addTheseValues=processAddThis.split(“+”);
//把数字通读一遍,把它们加起来
对于(变量i=0;i
尝试“onkeyup”事件。它适合我。您应该在keyup
上使用:
您应该调用函数
onkeyup
,如下所示:
input.onkeyup = function() {
/* The rest of your current code as it already works fine */
};
按下按键时会发生keydown
事件,紧接着是keypress
事件。在这两段时间内,按下的键的值仍然无法计算
然后在释放钥匙时生成keyup
事件。此时,按下的键的值可用于计算
在中,在文本区域中输入任何值,然后查看控制台以查看三个事件之间的差异
input.onkeyup = function() {
.....
};
input.onkeyup = function() {
/* The rest of your current code as it already works fine */
};