我在 JCarousel 控件之上添加了一些功能。由于在我们的代码中很多地方都用到了它,所以我开始为它创建一个 JQuery Widget。我的问题是我无法在 JCarousel 控件的回调方法中获取对“this”对象的引用。请在下面找到示例代码以供参考。
(function ($, undefined) {
$.widget('custom.MyCarousel', {
options: {
noOfVisibleItems: 2
},
_init: function () { this.BindCarosuel(); },
BindCarosuel: function () {
jQuery(this.element).jcarousel({
size: this.options.noOfVisibleItems.length,
itemLoadCallback: { this.mycarousel_itemLoadCallback }
});
},
MyWidgetCustomMethod: function (index) {
},
mycarousel_itemLoadCallback: function (carousel, state) {
// How to get access to options object (noOfVisibleItems)
// and methods like MyWidgetCustomMethod ?
}
}
)
} (jQuery));
我的问题在 mycarousel_itemLoadCallback 方法内部 - 如上面的代码中所述,如何访问“this”小部件实例?我尝试使用 $.custom.MyCarousel.prototype 对象,但这会为不同的小部件实例返回相同的选项数据。
提前致谢。