2017-03-21 1 views
0

단축키를 사용하는 웹 페이지가 있습니다. 단축키 중 하나가 load() 기능을 활성화하는 이벤트를 열 때까지단축키 및 .load() 문제

function HOTKEYS(){ 
    var keys = {}; 
    $(document).keydown(function(e) { 
    keys[e.which] = 1; 
    if (keys[80] == 1 && keys[18] == 1) { 
     $('input[name=customer]').focus(); 
    } 

    if (keys[65] == 1 && keys[18] == 1) { 
     $('input[name=product]').focus(); 
    } 

    if (keys[86] == 1 && keys[18] == 1) { 
     add_conn(); 
    } 

    if (keys[83] == 1 && keys[18] == 1) { 
     edit_price(); 
    } 

    console.log(keys); 
    }); 

    $(document).keyup(function(e){ 
    delete keys[e.which]; 
    }); 
} 

핫키는 잘 작동합니다. 그 후 기능 HOTKEYS()이 작동을 멈 춥니 다.

.load() 이벤트 다음에 HOTKEYS() 함수를 다시 포함하지 않고이 문제를 해결할 수 있습니까?

답변

0
(function(){ 
    var keys = {}; 
    $(document).on('keydown',function(e) { 
     keys[e.which] = 1; 
     if (keys[80] == 1 && keys[18] == 1) { 
      $('input[name=customer]').focus(); 
     } 

     if (keys[65] == 1 && keys[18] == 1) { 
      $('input[name=product]').focus(); 
     } 

     if (keys[86] == 1 && keys[18] == 1) { 
      add_conn(); 
     } 

     if (keys[83] == 1 && keys[18] == 1) { 
      edit_price(); 
     } 

     console.log(keys); 
    }); 

    $(document).keyup(function(e){ 
     delete keys[e.which]; 
    }); 
}()); 

이렇게하면됩니다.

+0

여전히 작동하지 않습니다. 같은 일이 생기면 Alt + A를 누를 때까지 작동합니다. '$ ('팝업').로드 (url, function() {some code})' 그런 다음 바로 가기 키가 작동을 멈 춥니 다. –