[JQUERY] JS / jQuery를 화살표 키에 바인딩
JQUERYJS / jQuery를 화살표 키에 바인딩
해결법
-
1.
document.onkeydown = function(e) { switch(e.which) { case 37: // left break; case 38: // up break; case 39: // right break; case 40: // down break; default: return; // exit this handler for other keys } e.preventDefault(); // prevent the default action (scroll / move caret) };
당신이 IE8을 지원해야하는 경우, 전자 = 전자로 함수 본문을 시작 || window.event를; 스위치 (e.which || e.keyCode) {.
(편집 2020) KeyboardEvent.which 지금은 사용되지 않습니다. 화살표 키를 감지 할 수있는보다 현대적인 솔루션을 KeyboardEvent.key를 사용하여이 예를 참조하십시오.
-
2.
$(document).keydown(function(e){ if (e.which == 37) { alert("left pressed"); return false; } });
문자 코드 :
-
3.당신은 화살표 키 (37, 38, 39 및 40 좌를 위해, 위, 오른쪽 아래)의 키 코드를 사용할 수 있습니다 :
당신은 화살표 키 (37, 38, 39 및 40 좌를 위해, 위, 오른쪽 아래)의 키 코드를 사용할 수 있습니다 :
$('.selector').keydown(function (e) { var arrow = { left: 37, up: 38, right: 39, down: 40 }; switch (e.which) { case arrow.left: //.. break; case arrow.up: //.. break; case arrow.right: //.. break; case arrow.down: //.. break; } });
여기에 위의 예를 확인하십시오.
-
4.이것은 조금 늦게, 그러나 바로 가기 키는 요소에 두 개 이상의 단축키를 첨부 할 경우 이벤트가 여러 번 실행 얻을 원인이되는 매우 중요한 버그가 있습니다. 그냥 일반 jQuery를 사용합니다.
이것은 조금 늦게, 그러나 바로 가기 키는 요소에 두 개 이상의 단축키를 첨부 할 경우 이벤트가 여러 번 실행 얻을 원인이되는 매우 중요한 버그가 있습니다. 그냥 일반 jQuery를 사용합니다.
$(element).keydown(function(ev) { if(ev.which == $.ui.keyCode.DOWN) { // your code ev.preventDefault(); } });
-
5.단순히 다른 답변에서 최상의 비트를 결합했습니다 :
단순히 다른 답변에서 최상의 비트를 결합했습니다 :
$(document).keydown(function(e){ switch(e.which) { case $.ui.keyCode.LEFT: // your code here break; case $.ui.keyCode.UP: // your code here break; case $.ui.keyCode.RIGHT: // your code here break; case $.ui.keyCode.DOWN: // your code here break; default: return; // allow other keys to be handled } // prevent default action (eg. page moving up/down) // but consider accessibility (eg. user may want to use keys to choose a radio button) e.preventDefault(); });
-
6.당신은 KeyboardJS를 사용할 수 있습니다. 난 그냥이 같은 작업을 위해 라이브러리를 썼다.
당신은 KeyboardJS를 사용할 수 있습니다. 난 그냥이 같은 작업을 위해 라이브러리를 썼다.
KeyboardJS.on('up', function() { console.log('up'); }); KeyboardJS.on('down', function() { console.log('down'); }); KeyboardJS.on('left', function() { console.log('right'); }); KeyboardJS.on('right', function() { console.log('left'); });
라이브러리 체크 아웃 여기 => http://robertwhurst.github.com/KeyboardJS/
-
7.(제안 개선을위한 Sygmoral에 감사) 일반 자바 스크립트를 사용하는 간결한 솔루션 :
(제안 개선을위한 Sygmoral에 감사) 일반 자바 스크립트를 사용하는 간결한 솔루션 :
document.onkeydown = function(e) { switch (e.keyCode) { case 37: alert('left'); break; case 39: alert('right'); break; } };
또한 https://stackoverflow.com/a/17929007/1397061를 참조하십시오.
-
8.당신은 확실히 jQuery.HotKeys 화살표 키를 지원하지 않습니다 있습니까? 내가 전에 자신의 데모와 주변 엉망했고, 오른쪽, 위, 나는 IE7, 파이어 폭스 3.5.2, 구글 크롬 2.0.172에서 테스트 할 때 작업 아래, 왼쪽 관찰 ...
당신은 확실히 jQuery.HotKeys 화살표 키를 지원하지 않습니다 있습니까? 내가 전에 자신의 데모와 주변 엉망했고, 오른쪽, 위, 나는 IE7, 파이어 폭스 3.5.2, 구글 크롬 2.0.172에서 테스트 할 때 작업 아래, 왼쪽 관찰 ...
편집 : 그것은 jquery.hotkeys 나타난다는 Github에서에 이전되었습니다 https://github.com/jeresig/jquery.hotkeys
-
9.대신 반환 거짓을 사용; 위의 예와 같이, 당신은 e.preventDefault ()를 사용할 수 있습니다; 의 같은 않지만 이해하고 쉽게 읽을 수 있습니다.
대신 반환 거짓을 사용; 위의 예와 같이, 당신은 e.preventDefault ()를 사용할 수 있습니다; 의 같은 않지만 이해하고 쉽게 읽을 수 있습니다.
-
10.오른쪽 또는 왼쪽으로가는 순수 JS의 예
오른쪽 또는 왼쪽으로가는 순수 JS의 예
window.addEventListener('keydown', function (e) { // go to the right if (e.keyCode == 39) { } // go to the left if (e.keyCode == 37) { } });
-
11.당신은 jQuery를 바인딩을 사용할 수 있습니다 :
당신은 jQuery를 바인딩을 사용할 수 있습니다 :
$(window).bind('keydown', function(e){ if (e.keyCode == 37) { console.log('left'); } else if (e.keyCode == 38) { console.log('up'); } else if (e.keyCode == 39) { console.log('right'); } else if (e.keyCode == 40) { console.log('down'); } });
-
12.당신은 화살표 키에 의해 가압되어 있는지 여부를 확인할 수 있습니다 :
당신은 화살표 키에 의해 가압되어 있는지 여부를 확인할 수 있습니다 :
$(document).keydown(function(e){ if (e.keyCode > 36 && e.keyCode < 41) { alert( "arrowkey pressed" ); return false; } });
-
13.방지는 물론 사실은 내가 다른 객체 LOL에 대한 검사를하지 않은 어떤 다른 목적 SELECT에만 사용할 수 화살표. 하지만 페이지 및 입력 유형에 화살표 이벤트를 중지 할 수 있습니다.
방지는 물론 사실은 내가 다른 객체 LOL에 대한 검사를하지 않은 어떤 다른 목적 SELECT에만 사용할 수 화살표. 하지만 페이지 및 입력 유형에 화살표 이벤트를 중지 할 수 있습니다.
난 이미 왼쪽 화살표를 차단하려고 오른쪽 "e.preventDefault ()"또는 "kepress"의 "반환 false"로 "를 keyDown"와 "의 keyup"이벤트를 사용하여 SELECT 객체의 값을 변경하지만 여전히 객체의 값을 변경합니다. 그러나 사건은 여전히 화살표를 누른 사실을 알려줍니다.
-
14.키보드 입력 및 키 조합을 캡처하는 강력한 자바 스크립트 라이브러리에 들어갔다. 그것은 종속성이 없습니다.
키보드 입력 및 키 조합을 캡처하는 강력한 자바 스크립트 라이브러리에 들어갔다. 그것은 종속성이 없습니다.
http://jaywcjlove.github.io/hotkeys/
hotkeys('right,left,up,down', function(e, handler){ switch(handler.key){ case "right":console.log('right');break case "left":console.log('left');break case "up":console.log('up');break case "down":console.log('down');break } });
-
15., 입력에 집중 +1 또는 -1 숫자 입력에 화살표 키를 사용했을 때, 사용자를 할 수있는 간단한 방법을 찾고 여기에왔다. 나는 좋은 대답을 발견하지만, 작업 좋은 것 같다 다음 코드를 만든 적이 - 지금이 전체 사이트를 만드는.
, 입력에 집중 +1 또는 -1 숫자 입력에 화살표 키를 사용했을 때, 사용자를 할 수있는 간단한 방법을 찾고 여기에왔다. 나는 좋은 대답을 발견하지만, 작업 좋은 것 같다 다음 코드를 만든 적이 - 지금이 전체 사이트를 만드는.
$("input").bind('keydown', function (e) { if(e.keyCode == 40 && $.isNumeric($(this).val()) ) { $(this).val(parseFloat($(this).val())-1.0); } else if(e.keyCode == 38 && $.isNumeric($(this).val()) ) { $(this).val(parseFloat($(this).val())+1.0); } });
-
16.커피 & jQuery로
커피 & jQuery로
$(document).on 'keydown', (e) -> switch e.which when 37 then console.log('left key') when 38 then console.log('up key') when 39 then console.log('right key') when 40 then console.log('down key') e.preventDefault()
from https://stackoverflow.com/questions/1402698/binding-arrow-keys-in-js-jquery by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] 어떻게 jQuery를에 PUT / DELETE 요청을 보내? (0) | 2020.10.04 |
---|---|
[JQUERY] 어떻게 자바 스크립트 / jQuery를 함께 양식 데이터를받을 수 있나요? (0) | 2020.10.04 |
[JQUERY] 때마다 원격 모달 쇼에게 동일한 콘텐츠를 부트 스트랩 트위터 (0) | 2020.10.04 |
[JQUERY] 두 $ .post 요청 요청 .post other.Second $이 실행되지 않습니다 후 하나를 (0) | 2020.10.04 |
[JQUERY] Fancybox 링크 라이트 박스에 표시되지 않습니다 - 나는 무엇을 놓치고? (0) | 2020.10.04 |