在输入或文本区域字段中禁用jquery按键

在输入或文本区域字段中禁用jquery按键,jquery,Jquery,我试图在按下某个键时触发一个事件。它适用于以下代码: $(document).keypress(function(e){ switch(e.which){ case 96:$("a.quicklinks").trigger('click'); break; } 但是,如果用户在表单字段中,我想禁用此行为。如何测试用户是否在表单字段中键入以执行此操作?谢谢。也许您可以设置一个全局变量 var disable_keyeven

我试图在按下某个键时触发一个事件。它适用于以下代码:

$(document).keypress(function(e){ 
    switch(e.which){ 
            case 96:$("a.quicklinks").trigger('click'); 
            break; 
    } 

但是,如果用户在表单字段中,我想禁用此行为。如何测试用户是否在表单字段中键入以执行此操作?谢谢。

也许您可以设置一个全局变量

var disable_keyevents = false;
$('textarea,input')
    .focus(function() { disable_keyevents = true })
    .blur(function() { disable_keyevents = true; });

然后,您只需检查$(document).keypress事件中的disable#keyevents值,然后再进行切换。

当用户在表单中按ASCII字符#96时,将触发此代码-您可以使用此代码禁用/修改此按键的“默认代码”

$(document).keypress(function(e) { 
    if ($(e.target).is('input, textarea')) {
        // event invoked from input or textarea
    }
    ...        
});
$('#my_form_field').live('keypress', function(e) {
    if (e.keyCode == 96) {
        e.preventDefault();
        // Do stuff.
    }
});