2011-07-22 4 views
0

私はjquery.hotkeys.jsを使用して、次の方法で私のキーバインドをマッピングしていて、入力フィールドを置き換え入力フィールドの最後であるiが文書にフォーカスされている場合)は、入力フィールドの内容を単にiに置き換えます。完全置換を防ぐことは可能ですが、その後もiが追加されます。例:この場合jquery.hotkeys.jsは.bind

$(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