0

mouseover以下のコードを使用して、jQuery イベント ハンドラーを要素にバインドしました。

jQuery(document).ready(function(){
    
    jQuery('#buyout_field').mouseleave(function() {
        alert('Hi!');
    });    

});

これはうまく機能しますが、ユーザーがこれらのドロップダウン メニューから値を選択すると、auto-complete入力した過去のデータがブラウザーに表示され、mouseleaveイベントが発生するのが早すぎることに気付きました。はい、適切なタイミングで (マウスが要素から離れたときに) 起動します。ただし、ユーザーがフィールドにデータを入力した後にのみ起動する関数が必要です。

次に、ハンドラーを追加して、focusoutより多くのベースをカバーします。

jQuery('#buyout_field').focusout(function() {
    alert('Hi!');
});

ただし、ユーザーがドロップダウン リストから値を選択し、テキスト フィールドの外側をクリックしない可能性もあります。

ここで関数をsetTimeout()起動する際に他のオプションはありますか?それとも、ユーザーがオートコンプリート リストから何かを選択してから関数を起動できるようにするために使用する必要がありますか?それとも、オートコンプリートを無効にする必要がありますか?

フィドル: http://jsfiddle.net/wbsDy/

4

0 に答える 0