0

jquery のオートコンプリートをカスタム イベントに対応させたいと考えています。ソースコードを微調整する必要があるかもしれません。私はそれを理解しようとしていますが、どのように'function( request, response )'機能するかわかりません。これはどのように呼び出され、パラメータはどこから来ているのでしょうか?

_initSource: function() {
        var array, url,
            that = this;
        if ( $.isArray(this.options.source) ) {
            array = this.options.source;
            this.source = function( request, response ) {
                response( $.ui.autocomplete.filter( array, request.term ) );
            };
        } else if ( typeof this.options.source === "string" ) {
            url = this.options.source;
            this.source = function( request, response ) {
                if ( that.xhr ) {
                    that.xhr.abort();
                }
                that.xhr = $.ajax({
                    url: url,
                    data: request,
                    dataType: "json",
                    success: function( data ) {
                        response( data );
                    },
                    error: function() {
                        response( [] );
                    }
                });
            };
        } else {
            this.source = this.options.source;
        }
    }
4

1 に答える 1

1

オートコンプリート内の別のメソッドから呼び出されています。

ここみたいに :

this.source( { term: value }, this._response() );

_search メソッドにあります。

于 2013-09-18T11:45:22.423 に答える