1

このコードは Firefox ではうまく機能しますが、IE 8 ではうまく機能しないことに気付きました。ユーザーが入力フィールドに少なくとも 8 文字を入力したときに、リストを自動的に入力する必要があります。

$('#inputField').keyup(function (event) { 
    var $inputField = $(this); 
        if ($inputField.val().length >= 8) { popularListBox(); } 
});

function populateListBox(){
    $.get("Default.aspx?name=test", function(data) {
        $('#listBox').children().remove();
        var options = data;
        $("#listBox").html(data);
    });
}
4

1 に答える 1

5

入力フィールドの変更を検出して、いくつかのアクションを実行したいですよね?

キーボード操作のみではなく、変更を検出できると思います。たとえば、ユーザーがクリップボードから貼り付けた場合はどうでしょうか?

これらのコードを試してください:

$('#inputField').bind('propertychange input paste', function() {
  // do poppularListBox()
});

テキストエリアを含むほとんどの入力フィールドで機能します。詳細については、jQuery サイトを確認してください。

私の経験では、.keyup() と .keypress() は IE でエラーになることがよくあります。可能であれば .keydown() を使用したい (ケースバイケース)

于 2012-06-10T05:34:05.370 に答える