将公共函数添加到jquery插件,从另一个脚本调用

时间:2016-07-06 09:59:16

标签: javascript jquery

我正在使用Adobe Accessible Mega Menu plugin并希望扩展它,(基本上添加一个可以从另一个脚本调用的函数)。

我已经研究过扩展jquery插件,javascript闭包以及关于这个主题的各种其他线程and I can see how this works

我也可以看到一个bunch of public attributes and methods (ln 695 on)但是试图调用这些只是返回jquery对象?

同样添加一个函数并尝试调用它似乎不起作用?

我添加了一个名为testFunction的函数,它会触发一个警报并且应该(我认为)被调用:

$("nav:first").accessibleMegaMenu("testFunction");

但是没有运气......

有没有人知道如何在上面的脚本中添加一个函数,可以从另一个脚本调用?

https://codepen.io/anon/pen/VjzkqE

编辑:已解决 - 需要通过原型obj访问函数,如下所示:

nav.accessibleMegaMenu.AccessibleMegaMenu.prototype.customFunction(param);

1 个答案:

答案 0 :(得分:1)

我已经在项目中使用jquery和prototype的扩展函数来实现这种方法,以扩展infinitescroll插件你可以采用这种方法并将其实现到你的插件中我希望这对你也有用

$.extend($.infinitescroll.prototype, {
    fucntion1: function() {
      //function implementation    
    },
    fucntion2: function() {
       //function implementaion
    }    
});

查看问题Best Way to Extend a jQuery Plugin