1

jquery-1.9.0 と jquery-ui-1.10.0 を使用しています

var opts = {
            source: availableTags
        };

    var optsA = Object.create(opts, 
    {
        select: {
            value: function (event, ui) {}
        }
    });

    var optsB = Object.create(opts, 
    {
        select: {
            value: function (event, ui) {}
        }
    });

    $("#tags1").autocomplete(
        optsB
    );

    $("#tags2").autocomplete(
        optsA
    );

オートコンプリート用に 2 つの個別の引数リストを作成しようとしています。オブジェクトは正しく構築されているようですが、オートコンプリートは継承されたオブジェクトの選択に対する私の定義を認識していないようです。

4

1 に答える 1

1

Object.create呼び出しに欠落しているプロパティがあります。

追加する必要がありますenumerable: true

var opts = {
    source: availableTags
};

var optsA = Object.create(opts, 
{
    select: {
        value: function (event, ui) {},
        enumerable: true
    }
});

var optsB = Object.create(opts, 
{
    select: {
        value: function (event, ui) {},
        enumerable: true
    }
});

$("#tags1").autocomplete(
    optsB
);

$("#tags2").autocomplete(
    optsA
);

問題は、jQuery のコア メソッドの for in ループがプロパティextendを見つけられないことです。selectenumerableautocomplete

JSFiddle

于 2013-02-13T16:52:57.327 に答える