2009-09-04 8 views
1

keydownイベントの文字を含むテキストの値を取得します。keydownのテキストボックス値を取得+多言語サポート

$(".searchfield").keydown(function(e) { 

    if (e.which >= 32 || e.which < 127) { 
    var c = String.fromCharCode(e.which); 
     callSearch($(this).val() + c)); 
    } 
}); 

これは、文字、数字、およびすべての必須文字に適しています。 32〜127 ASCII範囲。

テキストボックスに多言語入力がある場合、これが動作するかどうかはわかりません。英語以外の文字。

誰かが自分の経験を共有できますか?

おかげで、

答えて

-1

うーん多分あなたは0から31個のASCII文字のように、あなたはこの機能をtrigerしたくない何文字入れや他のすべてを受け入れる必要がありますか?

+0

私はそれがこのようにしなければならないと思います... – LibraRocks

-1

これはスペイン語をカバーします:

$(".searchfield").bind("keypress", function(event) { 
    var save = false; 
    if (window.event) { event = window.event; } 

    if (event.keyCode >= 32 && event.keyCode <= 126)  { save = true; } 
    else if (event.keyCode == 259)    { save = true; } // Y 
    else if (event.keyCode >= 192 && event.keyCode <= 197) { save = true; } // A 
    else if (event.keyCode >= 200 && event.keyCode <= 203) { save = true; } // E 
    else if (event.keyCode >= 204 && event.keyCode <= 207) { save = true; } // I 
    else if (event.keyCode == 209)    { save = true; } // Ñ 
    else if (event.keyCode >= 210 && event.keyCode <= 214) { save = true; } // O 
    else if (event.keyCode >= 217 && event.keyCode <= 220) { save = true; } // U 
    else if (event.keyCode == 221)    { save = true; } // Y 
    else if (event.keyCode >= 224 && event.keyCode <= 229) { save = true; } // a 
    else if (event.keyCode >= 232 && event.keyCode <= 235) { save = true; } // e 
    else if (event.keyCode >= 236 && event.keyCode <= 239) { save = true; } // i 
    else if (event.keyCode == 241)    { save = true; } // ñ 
    else if (event.keyCode >= 242 && event.keyCode <= 246) { save = true; } // o 
    else if (event.keyCode >= 249 && event.keyCode <= 252) { save = true; } // u 
    else if (event.keyCode == 253)    { save = true; } // y 
    else if (event.keyCode == 255)    { save = true; } // y 

    if (save){ 
    var c = String.fromCharCode(event.keyCode); 
    callSearch($(this).val() + c)); 
    } 
}); 
1

は、私は(KeyDownイベントのキーを含む)同様の必要性を持っていました。私の解決策は代わりに.keyupイベントを使用することでした。最後の文字が含まれます。

$(".searchfield").keyup(function(e) { 
    if (e.which >= 32 || e.which < 127) { 
     var c = String.fromCharCode(e.which); 
     callSearch($(this).val()); 
    } 
}); 

うまくいけば、これが役に立ちます。