내 생각에 관해서는 - 정말 미친 문제입니다. 논리는 아주 쉬운 것 같다 :하지만이 작동하지 않습니다 :)jQuerys keyup + counter와 관련된 문제
나는 스크립트의 작은 부분을 올렸습니다 :
코드 조각은 인스턴트 검색 제안입니다.
입력란을 흐리게하고 콘솔 (방화 광구)을 열고 화살표를 누르십시오. 화살표를 아래로 내려주십시오.
콘솔에서 변수를 볼 수 있습니다. 변수는 화살표 업/다운 키 1을 누를 때마다 추가되거나 제거되어야합니다.
그러나 방향을 "반대 방향"으로 설정하면 (예 : arrowDown -arrowDown -arrowDown - arrowUp) 카운터가 올바르게 작동하지 않는 것처럼 보입니다.
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++;
}
});
나는 것이 정말 당신은 준비() 함수에 코드를 포장해야하고, 이후 기본적 방해하고,
인사말 :-) 몇 가지 팁에 대해 크리스
의 키 누르기 이벤트가 키 업 이벤트 전에 트리거 : 또한, jQuery를이 e.which 정상화. –
[아마도 이것은 도움이 될 것입니까?] (http://jsfiddle.net/HrJg9/) – Ohgodwhy