1

我正在制作一个名为 myPlugin 的插件(它是一个对象),并且以这种方式将选项对象作为属性添加到其中(希望我做对了):

$.fn.myPlugin.options = {type: 'slideToggle'}

现在,在 myPlugin 对象中的一个方法中,我将如何更改:

$(this).next().slideToggle(200);

所以它从选项中获取slideToggle,所以它不是硬编码的?

就像是:

$(this).next().myPlugin.options.type(200);
4

2 回答 2

0

您可以使用括号表示法来做到这一点,因为它允许变量:

$(this).next()[self.options.type](200);
                 // ^^^ string that matches jQuery method, like slideToggle etc
于 2013-06-24T11:13:00.717 回答
0

要链接,您需要在插件中返回 jQuery 对象,以便将其传递给下一个方法。

像这样:

 return this.each(function(){
        // element-specific code here
  });
于 2013-06-24T11:15:36.383 回答