복붙노트

[JQUERY] jQuery로 이스케이프 키에 대한 어떤 키 코드

JQUERY

jQuery로 이스케이프 키에 대한 어떤 키 코드

해결법


  1. 1.KeyUp 이벤트에보십시오 :

    KeyUp 이벤트에보십시오 :

    $(document).keyup(function(e) {
      if (e.keyCode === 13) $('.save').click();     // enter
      if (e.keyCode === 27) $('.cancel').click();   // esc
    });
    

  2. 2.오히려 하드 코드보다 함수의 키 코드 값은 더 나은 의미를 전달하기 위해 명명 된 상수를 사용하는 것이 좋습니다 :

    오히려 하드 코드보다 함수의 키 코드 값은 더 나은 의미를 전달하기 위해 명명 된 상수를 사용하는 것이 좋습니다 :

    var KEYCODE_ENTER = 13;
    var KEYCODE_ESC = 27;
    
    $(document).keyup(function(e) {
      if (e.keyCode == KEYCODE_ENTER) $('.save').click();
      if (e.keyCode == KEYCODE_ESC) $('.cancel').click();
    });
    

    (다른 사람의 확신 파이어 폭스와 같은) 일부 브라우저는 당신을 위해 상수 이러한 유형의 노출 전역의 KeyEvent 객체를 정의합니다. 이 SO는 질문 쇼 다른 브라우저에서 해당 객체를 정의뿐만 아니라의 좋은 방법입니다.


  3. 3.(답변 내 이전 코멘트에서 추출)

    (답변 내 이전 코멘트에서 추출)

    당신은 키를 누를 때보다는의 keyup 사용해야합니다. 예컨대 :

    $(document).keyup(function(e) {
      if (e.which == 13) $('.save').click();     // enter
      if (e.which == 27) $('.cancel').click();   // esc
    });
    

    키를 누를 때 가끔의 키를 등록하지 않습니다. 파이어 폭스 대 크롬 대 IE에서 http://api.jquery.com/keypress에서 데모를 시도 (브라우저 사이에서 일관되게 처리 할 것, 모두에 대한 값 '하는'하지 않는다 keyUp 등 반면 'keyCode를'변화)가 일치한다.

    JQuery와 정규화 값이고 사용을 권장 하나입니다 e.which 것을 참고 : e.keyCode 대 e.which의 논의가 있었다 때문에 :

    (행 http://api.jquery.com/event.which/)


  4. 4.어떤 키의 키 코드를 찾으려면,이 간단한 기능을 사용 :

    어떤 키의 키 코드를 찾으려면,이 간단한 기능을 사용 :

    document.onkeydown = function(evt) {
        console.log(evt.keyCode);
    }
    

  5. 5.27 이스케이프 키의 코드입니다. :)

    27 이스케이프 키의 코드입니다. :)


  6. 6.가장 좋은 방법은

    가장 좋은 방법은

    $(document).keyup(function(e) { 
        if (e.which === 13) $('.save').click();   // enter 
        if (e.which === 27) $('.cancel').click(); // esc   
    
        /* OPTIONAL: Only if you want other elements to ignore event */
        e.preventDefault();
        e.stopPropagation();
    });
    

    요약

    흥미롭게 부트 스트랩에서 KeyDown하고 드롭 다운 구성 요소의 keyCode를 (3.0.2)를 사용합니다! 나는 거기 아마 잘못 선택 생각합니다.

    JQuery와 문서에서 관련 조각

    관심의 다른 항목 : 자바 스크립트 키를 누를 때 도서관


  7. 7.(구글 드라이브에서 다운로드)를 jEscape 플러그인을 사용해보십시오

    (구글 드라이브에서 다운로드)를 jEscape 플러그인을 사용해보십시오

    $(document).escape(function() { 
       alert('ESC button pressed'); 
    });
    

    또는 GET 키 코드 크로스 브라우저

    var code = (e.keyCode ? e.keyCode : e.which);
    if (code === 27) alert('ESC');
    if (code === 13) alert('ENTER');
    

    어쩌면 당신은 스위치를 사용할 수 있습니다

    var code = (e.keyCode ? e.keyCode : e.which);
    switch (code) {
        case 27:
           alert('ESC');
           break;
         case 13:
           alert('ENTER');
           break;
    }
    

  8. 8.코드는 잘 작동합니다. 그것은 가장 가능성이 창 그게 전부가 집중 아니에요. 나는 등 가까운 iframe을 상자에 유사한 기능을 사용

    코드는 잘 작동합니다. 그것은 가장 가능성이 창 그게 전부가 집중 아니에요. 나는 등 가까운 iframe을 상자에 유사한 기능을 사용

    $(document).ready(function(){
    
        // Set focus
        setTimeout('window.focus()',1000);
    
    });
    
    $(document).keypress(function(e) {
    
        // Enable esc
        if (e.keyCode == 27) {
          parent.document.getElementById('iframediv').style.display='none';
          parent.document.getElementById('iframe').src='/views/view.empty.black.html';
        }
    
    });
    

  9. 9.저도 같은 일을하려고했던거야 그리고 그게 날의 쓰레기 밖으로 도청했다. 파이어 폭스에서, 당신이 이스케이프 키를 눌렀을 때 어떤 일을하려고하면, 그 다음 당신이하려고했던 어떤 취소 Esc 키를 처리를 계속 나타납니다. 경고는 잘 작동합니다. 하지만 내 경우에는 내가 작동하지 않았다 역사에 다시 가고 싶어. 마지막으로 나는 아래와 같이 정지 이벤트의 전파를 강제했다는 것을 알아 냈 ...

    저도 같은 일을하려고했던거야 그리고 그게 날의 쓰레기 밖으로 도청했다. 파이어 폭스에서, 당신이 이스케이프 키를 눌렀을 때 어떤 일을하려고하면, 그 다음 당신이하려고했던 어떤 취소 Esc 키를 처리를 계속 나타납니다. 경고는 잘 작동합니다. 하지만 내 경우에는 내가 작동하지 않았다 역사에 다시 가고 싶어. 마지막으로 나는 아래와 같이 정지 이벤트의 전파를 강제했다는 것을 알아 냈 ...

    if (keyCode == 27)
    {
        history.back();
    
        if (window.event)
        {
            // IE works fine anyways so this isn't really needed
            e.cancelBubble = true;
            e.returnValue = false;
        }
        else if (e.stopPropagation)
        {
            // In firefox, this is what keeps the escape key from canceling the history.back()
            e.stopPropagation();
            e.preventDefault();
        }
    
        return (false);
    }
    

  10. 10.다른 답변은하지 않은 위치를 설명하기; 문제는 키 누르기의 사용이다.

    다른 답변은하지 않은 위치를 설명하기; 문제는 키 누르기의 사용이다.

    아마도 이벤트는 잘못이 명명하지만, actualcharacteris가 삽입 될 때 때의 키가 화재로 정의된다. 즉 본문. 당신이 원하는 것은를 keyDown /의 keyup, 반면 어떤 불 때마다 사용자가 A 키 우울 (전이나 후, 각각). 즉 키보드의 것들.

    esc 키를 제어 문자 (문자 그대로 '비 인쇄 문자') 텍스트를 기록하지 않습니다 때문에, 따라서도 발사하지의 키 때문에 차이가 여기에 나타납니다. 당신이 제어 문자로 사용하는 경우에도 때문에, 이상한 입력 여전히 키 누름을 발사하는 새로운 줄 문자를 삽입한다 (즉 UI를 제어합니다).

    출처 : 쿼크 모드


  11. 11.그냥 e.keyCode보다 업데이트 된 대답을 게시하는 것은 MDN에서 사용되지 않음으로 간주됩니다.

    그냥 e.keyCode보다 업데이트 된 대답을 게시하는 것은 MDN에서 사용되지 않음으로 간주됩니다.

    오히려 당신은 모든 깨끗한 이름을 지원하는 대신 e.key을 선택해야한다. 여기에 관련 사본 파스타입니다

    window.addEventListener("keydown", function (event) {
      if (event.defaultPrevented) {
        return; // Do nothing if the event was already processed
      }
    
      switch (event.key) {
        case "ArrowDown":
          // Do something for "down arrow" key press.
          break;
        case "ArrowUp":
          // Do something for "up arrow" key press.
          break;
        case "ArrowLeft":
          // Do something for "left arrow" key press.
          break;
        case "ArrowRight":
          // Do something for "right arrow" key press.
          break;
        case "Enter":
          // Do something for "enter" or "return" key press.
          break;
        case "Escape":
          // Do something for "esc" key press.
          break;
        default:
          return; // Quit when this doesn't handle the key event.
      }
    
      // Cancel the default action to avoid it being handled twice
      event.preventDefault();
    }, true);
    

  12. 12.모든 문자의 16 진수 코드를 얻을 수 : http://asciitable.com/

    모든 문자의 16 진수 코드를 얻을 수 : http://asciitable.com/


  13. 13.키보드 입력 및 키 조합을 캡처하는 강력한 자바 스크립트 라이브러리에 들어갔다. 그것은 종속성이 없습니다.

    키보드 입력 및 키 조합을 캡처하는 강력한 자바 스크립트 라이브러리에 들어갔다. 그것은 종속성이 없습니다.

    http://jaywcjlove.github.io/hotkeys/

    hotkeys('enter,esc', function(event,handler){
        switch(handler.key){
            case "enter":$('.save').click();break;
            case "esc":$('.cancel').click();break;
        }
    });
    

    ⌘ ⇧, shiftoption⌥altctrlcontrolcommand 및 : 단축키는 다음과 같은 수식을 이해한다.

    다음 특수 키는 바로 가기를 사용할 수 있습니다 : backspacetab, 분명, 입력, 반환, ESC, 탈출, 공간, 위, 아래, 왼쪽, 오른쪽, 홈, 엔드, 페이지 업, PageDown 키는, 델, andf1 throughf19을 삭제합니다.


  14. 14.나는 항상 캐치 이스케이프 키의 keyup 및 e.which을 사용했다.

    나는 항상 캐치 이스케이프 키의 keyup 및 e.which을 사용했다.


  15. 15.이 질문 jQuery에 대해 물어 알고 있지만, jqueryui를 사용하는 사람들을 위해, 정수는 키 코드의 많은이 있습니다 :

    이 질문 jQuery에 대해 물어 알고 있지만, jqueryui를 사용하는 사람들을 위해, 정수는 키 코드의 많은이 있습니다 :

    $.ui.keyCode.ESCAPE
    

    http://api.jqueryui.com/jQuery.ui.keyCode/

  16. from https://stackoverflow.com/questions/1160008/which-keycode-for-escape-key-with-jquery by cc-by-sa and MIT license