当光标聚焦在文本框中并按下回车键时,我有一个函数 X 在做某事,但是有可能(使用其他 JS 函数)如果我专注于这个文本框,我会收到警报。
问题发生在这里,有时我通过按“忽略”错误,enter当警报在那里时如何不调用此函数 X,但我希望它在警报再次关闭时再次工作。
在 HTML 页面上:
<input type='text' name='col0' id='col0' onkeyup='arrowHandler(0);'
onblur='count(0)' />
<input type='text' name='col1' id='col1' onkeyup='arrowHandler(1);'
onblur='count(1)' />
<input type='text' name='col2' id='col2' onkeyup='arrowHandler(2);'
onblur='count(2)' />
<input type='text' name='col3' id='col3' onkeyup='arrowHandler(3);'
onblur='count(3)' />
在 JS 页面上:
function arrowHandler(i){
var key = window.event.keyCode;
if(key == 13){
// moving to the next (or first, if last) text field
var newcol = parseInt(i) + 1;
if(newcol == col) newcol = 0;
elmt = document.getElementById("col" + newcol);
elmt.focus();
}
}
function count(i){
if(parseInt(document.getElementById("col" + i).value) > 20){
alert("error!");
}
}
在这里,当焦点在 时col0
,我写 25,然后焦点移动到col1
,我收到警报,然后按 enter,结果,焦点移动到col2
(我不想要最后一个移动,因为按 enter当显示警报时)。