0

それを行う方法はありますか?基本的に、それに依存する他のフィールドがあるため、ユーザーがフィールドをクリアしたことを検出したいと思います。変更イベントを使用しましたが、入力ボックスをクリアしても発生しませんでした。

助言がありますか?

4

4 に答える 4

2

focusoutを使用して、 text_inputがクリアされているかどうかを確認できます(その後、 id_inputをクリアします)

// check if autocomplete has been cleared
$("#text_input").focusout(function() {
    if ($("#text_input").val() == '') {
        $('#id_input').val('');
    }
});
于 2013-01-18T15:20:32.697 に答える
0

ユーザーがフィールドをクリアしていることを確認するために、いくつかの異なるハンドラーを使用することをお勧めします

$(document).on('keyup, keydown, blur, change' , '.myTxtBox', function(){
var text =  $(this).val();
if text = "" {}    
});

ユーザーが強調表示されていないことを確認したい場合は、 keyup で検出しやすいキーと key down で検出しやすいキーがあります。いくつかの異なるハンドラーが必要です

于 2012-12-17T22:10:08.550 に答える
0

関数を jQuery の keyup イベントにバインドし、その関数でフィールドの .val() の長さをチェックするのはどうですか?

これは、ほとんどすべてのブラウザーで正常に機能します。IE Mobile 9 では、yeyup イベントの後までフィールドの内容が更新されないため、フィールド値を読み取る前に時間遅延を設定する必要があります。

モデレーターへの注意: 愚かな Web サイトのせいで、この回答を入力するのに 3 分も待たされました。

于 2012-12-17T22:12:07.860 に答える
0

マイクが提案したのと同様のアプローチを使用しますが、結果が選択されておらず、入力が空でない可能性があるため、のキーアップイベントのa#ui-active-menuitem代わりに長さをチェックします。(例: ユーザーが上矢印キーを押してリストの結果をぼかした場合)val()input[type="text"]

input.on('keyup', function(){
    if(! $('a#ui-active-menuitem').length ) ...
});
于 2013-01-18T13:54:35.927 に答える