2011-12-28 3 views
1

テキストフィールドの値が変わるたびに関数を呼び出すフォームで作業しています。これには、 "keyup"と "change"イベントが使用されます。しかし、ユーザーがテキストフィールドをダブルクリックして、ブラウザに組み込まれた以前に入力された値のリスト内の項目をクリックすると、その関数は呼び出されません。ユーザは、「変更」イベントがトリガされるために、その後にテキストフィールドの外側をクリックする必要があります。何か案は?jQuery:ブラウザのネイティブオートコンプリート選択にハンドラをアタッチする

+0

ブラウザのオートコンプリートを入力しますか?そうでない場合、 'autocomplete = false'を設定して問題を完全に回避することができます。 –

+0

実際には 'autocomplete = off'です。 https://developer.mozilla.org/en/How_to_Turn_Off_Form_Autocompletion –

+0

'autocomplete = false'はWebkitでは動作しますが、知っておきたいことです。 –

答えて

0

あなたはそのような入力のfocusblurイベントをリッスンすることができます

function monitor() { 
console.log($('#input').val()); // Log the value (or trigger your chnage) 
} 

var timer = ''; 

$('#input').on('focus', function() { 
    timer = setInterval(monitor, 100); 
}).on('blur', function() { 
    clearInterval(timer); 
}); 

Here's a working jsFiddle

+0

それは動作します!ありがとう! – Nick

関連する問題