縮小された Javascript ファイルに含まれる関数をオーバーライドすることは可能ですか?
詳細: Twitter Bootstrap Typeahead プラグイン (v2.3.2) 内の process() 関数をオーバーライドして、返されたアイテムが表示されたアイテムを超えた場合にドロップダウンの下部にインジケーターを追加しようとしています。
これが私のコードです:
var customProcess = function (items) {
var that = this
items = $.grep(items, function (item) {
return that.matcher(item)
})
items = this.sorter(items)
if (!items.length) {
return this.shown ? this.hide() : this
}
//Get the default item slice and determine whether the indicator is needed
var itemSlice = items.slice(0, this.options.items);
if (items.length > this.options.items) {
itemSlice.push("...");
}
return this.render(itemSlice).show();
};
// Reassign the typeahead.process() function to the customized
// version that adds a visual indicator if more items are
// returned than the amount shown (options.items).
$.fn.typeahead.Constructor.prototype.process = customProcess;
Bootstrap JavaScript の縮小版 (bootstrap.min.js) を使用している場合、これは失敗し、実際には先行入力機能が完全に無効になります。代わりに、縮小されていないバージョン (bootstrap.js) を入手すると、完全に機能します。
[補足として、私は以前、typeahead プラグインの古いバージョン (v1.8.x だと思います) で同じアプローチを使用し、最小化されたバージョンでも完全に機能しました。運が良かっただけ?]