2017-02-20 59 views
1

我在我的应用程序的不同页面上有表单。按“Enter”或“Esc”后,当前页面上的表格必须是“已提交”或“已取消”。 keydown()函数应该在页面的任何位置触发,而不是绑定到特定的DOM元素。只为当前页面捕获keyDown

的.js

$(document).keydown(function(e) { 
     if(e.which == 13) { 
      // enter pressed 
      $('#submitCreateAccountForm').click(); 
      $('#submitForm').click(); 
      $('#submitNewSubmissionForm').click(); 
     } 
     if(e.which == 27) { 
      // esc pressed 

      $('#submitCreateAccountFormCancel').click(); 
      $('#submitFormCancel').click(); 
      $('#submitNewSubmissionFormCancel').click(); 
     } 
    }); 

我应该 '文件' 被替换?由于

回答

1

试试这个

$(function(){ 

    $('html').bind('keypress', function (e) { 
     if (e.keyCode == 13) { 
     //do somethings 
     } 
     else if (e.keyCode == 27) { 
     return false; 
     } 
    }); 
}); 
+0

这仍然在所有页面调用按键功能,而不仅仅是当前活动的页面。 – dmat

0

你可以试试这个代码:

$("body").keyup(function(event){ // bind keyup event to body 
    if(event.keyCode == 13){  // 13 - code of enter key (find for ESC) 
     $("#enter").click();  // bind enter press for clicking botton with id="enter" and corresponding actions 
    } 
});