jQuerys keyup和x2B的问题;柜台
关于我的观点,我有一个非常疯狂的问题。逻辑似乎很简单:但它不起作用:) 我增加了脚本的一小部分: 该片段用于即时搜索 请模糊输入字段,打开控制台(firebug),然后按向上箭头和向下箭头 您将在控制台上看到一个变量,每次按箭头向上/向下键1时,该变量都应添加或删除 但如果“反转”方向(例如箭头向下-箭头向下-箭头向下- (向上箭头)计数器似乎工作不正常jQuerys keyup和x2B的问题;柜台,jquery,keyup,Jquery,Keyup,关于我的观点,我有一个非常疯狂的问题。逻辑似乎很简单:但它不起作用:) 我增加了脚本的一小部分: 该片段用于即时搜索 请模糊输入字段,打开控制台(firebug),然后按向上箭头和向下箭头 您将在控制台上看到一个变量,每次按箭头向上/向下键1时,该变量都应添加或删除 但如果“反转”方向(例如箭头向下-箭头向下-箭头向下- (向上箭头)计数器似乎工作不正常 var c = 0; $('#h7_3').keypress(function(e) { console.log('-------
var c = 0;
$('#h7_3').keypress(function(e) {
console.log('--------');
console.log('c = ' + c);
console.log('Key: = ' + e.keyCode);
console.log('--------');
if(e.keyCode == 38 || e.which == 38){ //38 = arrowUp
e.preventDefault();
}
if(e.keyCode == 40 || e.which == 40) { //40 = arrowDown
e.preventDefault();
}
});
$('#h7_3').keyup(function(e) {
if(e.keyCode == 38 || e.which == 38){ //38 = arrowUp
c--;
} else if(e.keyCode == 40 || e.which == 40) { //40 = arrowDown
c++;
}
});
我真的很高兴听到一些提示:-)
您好,Chris您需要将代码包装在ready()函数中,因为您正在阻止默认值,所以后一个函数不会被触发。此外,jQuery规范化了e.net,其中:
$(function() {
var c = 0;
$('#h7_3').on('keyup', function(e) {
if (e.which == 38 || e.which == 40) {
c = e.which == 38 ? c-1 : c+1;
console.log('--------');
console.log('c = ' + c);
console.log('Key: = ' + e.which);
console.log('--------');
e.preventDefault();
}
});
});
我认为代码工作正常,按键事件在向上键事件之前触发,因此在这种情况下,您可以在日志中找到递增或递减的值。