2017-03-21 1 views
0

Ich habe eine Webseite, die Hotkeys verwendet.Hotkeys und .load() Problem

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]; 
    }); 
} 

Die Hotkeys funktionieren, bis eines der Hotkeys öffnet ein Ereignis auf, das eine load() Funktion aktiviert. Danach funktioniert die Funktion HOTKEYS() nicht mehr.

Gibt es eine Möglichkeit, das zu beheben, ohne die Funktion HOTKEYS() nach dem Ereignis .load() erneut zu verwenden?

Antwort

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]; 
    }); 
}()); 

Tun Sie es so.

+0

Immer noch nicht funktioniert. Das gleiche passiert, es funktioniert, bis ich Alt + A drücke, was '$ ('. Popup') aktiviert. Load (url, function() {irgendein Code})' Danach funktionieren die Hotkeys nicht mehr. –