我正在编写一个单字段表格,希望按下回车键可以将表格移至下一个输入字段。由于页面上还有另一个表格,因此我只想在该表格中的一个输入框是
我已经通过以下看起来非常冗长的
每个输入都是同一个类:
当然,这只访问页面上
我是初学者,正在寻找更简洁的逻辑。
activeElement
时按下回车键才能移动到下一个字段。我已经通过以下看起来非常冗长的
if()
语句实现了这一点:document.addEventListener( 'keydown', function( ev ) {
var keyCode = ev.keyCode || ev.which;
var ids = [ 'this', 'that', 'there', 'thing', 'other' ];
if ( document.getElementById( ids[0] ) === document.activeElement || document.getElementById( ids[1] ) === document.activeElement || document.getElementById( ids[2] ) === document.activeElement || document.getElementById( ids[3] ) === document.activeElement || document.getElementById( ids[4] ) === document.activeElement) {
if( keyCode === 13 ) {
ev.preventDefault();
self._nextQuestion();
}
}
} );
每个输入都是同一个类:
.questions
。我尝试了以下内容:document.addEventListener( 'keydown', function( ev ) {
var keyCode = ev.keyCode || ev.which;
var ids = [ 'this', 'that', 'there', 'thing', 'other' ];
if ( document.querySelector('.questions') === document.activeElement) {
if( keyCode === 13 ) {
ev.preventDefault();
self._nextQuestion();
}
}
} );
当然,这只访问页面上
.questions
的第一个实例。我不想迭代节点,因为它似乎并没有比我已经拥有的更好。我是初学者,正在寻找更简洁的逻辑。
document.activeElement.className
,也许可以使用.indexOf
方法吗? - qxz