热键和 .load() 问题

  • 本文关键字:问题 load jquery
  • 更新时间 :
  • 英文 :


我有一个使用热键的网页。

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

工作正常,直到其中一个热键打开激活load()功能的事件。之后,该功能HOTKEYS()停止工作。

有没有办法解决这个问题,而无需在 .load(( 事件后再次包含函数 HOTKEYS(( ?

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

这样做。

最新更新