2011-07-22 32 views
0

我使用jquery.hotkeys.js和我的映射以下列方式键绑定:jquery.hotkeys.js代替输入栏.bind

$(document).bind('keydown', 'i', function() { 
     $("input#foo").focus() 
}); 

然而,调用焦点(在尝试后,试图将光标移动到输入字段的结尾时按下i将关注文档),它只是用i替换输入字段的内容。可以防止全部更换,但即使如此,仍然会附加i。例如:

$(document).bind('keydown', 'i', function() { 
     var val = $("input#foo").val() 
     $("input#foo").focus() 
     $("input#foo").val(val.substring(0,val.length-1) 
}); 

在这种情况下,television输入将变成televisioi。任何知道任何解决方法的人都有可能?谢谢!!

回答

2

您可以通过将事件阻止默认功能:

$(document).bind('keydown', 'i', function(event) { 
    event.preventDefault(); 
    $("input#foo").focus(); 
}); 

我想你会想防止KEYUP功能太:

$(document).bind('keyup', 'i', function(event) { 
    event.preventDefault(); 
}); 
+0

烨说做到了。谢谢! – matt