首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在使用构造器模式和插件原型时,如何在jquery中触发函数?

在使用构造器模式和插件原型时,如何在jquery中触发函数?
EN

Stack Overflow用户
提问于 2013-04-16 14:53:43
回答 2查看 1.2K关注 0票数 0

问题如下(评论家感谢):我正在编写一个jquery插件,如下面的示例代码所示:

代码语言:javascript
复制
;(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上。如果这是可能的,请有人解释(也欢迎变通)。提前感谢

EN

回答 2

Stack Overflow用户

发布于 2013-04-16 15:15:23

不需要使用原型方法。正如authoring JQuery plugins文档中提到的,您将返回插件对象的一个实例。假设您的插件对象是自定义的,则不需要使用prototype方法。

也就是说,当你初始化你的插件时,你的更新函数是可以访问的,你可以在这里绑定到窗口调整事件(假设你希望你的插件在窗口调整大小时总是更新):

代码语言:javascript
复制
$(window).resize(function(){
  //if not a local function, then you can use $this.update()
   update();
}
票数 0
EN

Stack Overflow用户

发布于 2013-05-03 06:32:20

数据jquery保存创建的对象,以便您可以使用它来调用原型函数,如下所示

代码语言:javascript
复制
$(window).resize(function(){
 $('element_selector_here').data('my').update();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16030599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档