1

jQuery UI Autocomplete Plugin の拡張機能を開発しています。

私のコードはおおよそ次のとおりです。

$.widget( "ui.autocomplete", $.ui.autocomplete, {
    options: {
        delay: 500,
        prefix: ""
    },

    _renderItem: function( ul, item ) {
        var label = item.label;
        if ( this.options.prefix ) {
            label = this.options.prefix + " " + label;
        }
        return $( "<li>" )
            .append( $( "<a>" ).text( label ) )
            .appendTo( ul );
    },
});

私がやりたいことは、「フォーカス」のようなイベントのデフォルトの動作を拡張することです(たとえば、次のコードを使用して):

focus: function() {
    // prevent value inserted on focus
    alert("fire");
    return false;
}

現時点では、 autocomplete() を呼び出すときに書いています

$( "#search" ).autocomplete( { //focus:function() ...  })

これを行う方法はありますか?だから私が書くとき

$( "#search" ).autocomplete()

ウィジェット内で定義済みのフォーカス機能を自動的に使用しますか?

ありがとう!

4

1 に答える 1

2

答えはそれと同じくらい簡単です。「フォーカス」、「選択」、「開く」を他のオプションとして扱います。

$.widget( "ui.autocomplete", $.ui.autocomplete, {
    options: {
        delay: 200,

        focus: function(event) {
            alert("does that");
        }
    }
});

それでおしまい!次に電話するとき

$( "#search" ).autocomplete()

それは焦点をキャッチします!

于 2013-11-13T09:17:00.090 に答える