问题如下(评论家赞赏): 我正在编写一个jquery插件,如下面的示例代码所示:
;(function($, document, window, undefined) {
$.fn.myPlugin = function(params) {
return this.each(function() {
$(this).data('my', new MyPlugin(params));
}
}
function MyPlugin(params) {
// do something
}
MyPlugin.prototype = {
init: function() { ... },
update: function() { ... }
}
})(jQuery, document, window);
现在我希望在$(window).onresize上调用MyPlugin原型中的更新功能。 如果可能,请有人解释(解决方法也欢迎)。提前致谢
答案 0 :(得分:0)
无需使用原型方法。正如authoring JQuery plugins的文档中所提到的,您将返回插件对象的实例。假设您的插件对象是自定义的,则不需要使用原型方法。
话虽如此,当您初始化插件时可以访问您的更新功能,您可以将其绑定到窗口调整大小事件(假设您希望插件在窗口调整大小时始终更新):
$(window).resize(function(){
//if not a local function, then you can use $this.update()
update();
}
答案 1 :(得分:0)
data jquery保存创建的对象,以便您可以使用它来调用这样的原型函数
$(window).resize(function(){
$('element_selector_here').data('my').update();
}