问题如下(评论家感谢):我正在编写一个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);
现在,我希望在MyPlugin的原型窗口中调用更新函数,比如在$().onresize上。如果这是可能的,请有人解释(也欢迎变通)。提前感谢
发布于 2013-04-16 15:15:23
不需要使用原型方法。正如authoring JQuery plugins文档中提到的,您将返回插件对象的一个实例。假设您的插件对象是自定义的,则不需要使用prototype方法。
也就是说,当你初始化你的插件时,你的更新函数是可以访问的,你可以在这里绑定到窗口调整事件(假设你希望你的插件在窗口调整大小时总是更新):
$(window).resize(function(){
//if not a local function, then you can use $this.update()
update();
}
发布于 2013-05-03 06:32:20
数据jquery保存创建的对象,以便您可以使用它来调用原型函数,如下所示
$(window).resize(function(){
$('element_selector_here').data('my').update();
}
https://stackoverflow.com/questions/16030599
复制相似问题