0

入力テキスト要素があります。この入力にシンボルを書き込むと、このシンボルにアラートが表示されます。つまり、シンボル「a」を記述した場合、すぐにアラート(「a」)、これを作成する方法は? 試していますが、うまくいきません

$("input").on("keypress", function () {
                setTimeout (function () {               
                    var search_word =  $(this).val();
                    if ( search_word.length > 0 ) {
                        alert(search_word);
                    }
                },200);
            });
4

3 に答える 3

2
$("input").on("keypress", function (e) {
    alert(String.fromCharCode(e.which));
});
于 2012-08-01T14:20:19.620 に答える
1

変数のスコープに問題があります。this内部関数を参照します。

代わりにこれを使用してください:

$("input").on("keypress", function () {
    var that = this;
    setTimeout (function () {               
        var search_word =  $(that).val();
        if ( search_word.length > 0 ) {
            alert(search_word);
        }
    },200);
});​

JSFIDDLE

于 2012-08-01T14:20:09.707 に答える
1

キーアップを使用できます。入力が値を取得した後に起動されるため、タイムアウトは必要ありません。 http://jsfiddle.net/yF2hU/

$('#foo').bind('keyup', function(e) {
    alert($(this).val());
});​
于 2012-08-01T14:23:24.953 に答える