我正在使用事件监听器监视何时按下button 'c'
以激活选项卡和文本输入,以便用户可以开始输入。
我得到的行为是:
1。)当正确的选项卡已经激活时:文本输入正确聚焦。
2.。)当其他选项卡处于活动状态时:正确激活所需选项卡但不输入文本输入。如果按" c"再一次,行为(1.)发生了。
有谁知道我是如何让这个工作的,所以当' c'按下选项卡(如果需要),文本输入也会被聚焦。
我尝试将两个函数顺序完成,但我仍然得到相同的行为。
我的代码如下:
window.addEventListener (
'keydown',
function (event) {
if (!($(document.activeElement).is(":input"))){
event.preventDefault();
switch (event.keyCode){
//Key C
case 67:
$('#tabs a[href="#comments"]').tab('show');
$("#comment-box").focus();
break;
}
}
},
false
);
答案 0 :(得分:0)
为防止输入“C”,必须包含event.preventDefault();
。
window.addEventListener('keydown', function(event){
if(!($(document.activeElement).is(":input"))){
switch (event.keyCode) {
//Key C
case 67:
event.preventDefault(); // Prevents typing letter C
$('#tabs a[href="#comments"]').tab('show');
$("#comment-box").focus();
break;
}
}
},false);
注意:OP不幸编辑了问题以更正代码。他的原始修订版不包含preventDefault
声明。