我是 JQuery 的新手,我想知道我应该如何将参数传递给插件,以限制插件内的哪些代码被执行?
基本上,我想以两种方式之一调用插件:
$(".element").plugin(optionA);
$(".element").plugin(optionB);
更新:
如果我调用 optionA,当您在文本字段中输入文本时会出现一个下拉菜单,选择后会过滤表格。如果我调用 optionB,则不会出现下拉菜单,而是会自动过滤表格。因此,这两个选项在同一个对象上提供了不同的功能。本质上,如果我传入 optionA 参数,我只希望插件中的 optionA 代码被执行,如果我传入 optionB,我只希望插件中的 optionB 代码被执行。
这是基本的插件结构:
(function ($) {
$.fn.plugin = function (options) {
var settings = $.extend({
//Default Settings
}, options);
return this.each(function () {
//Do some code here
});
};
} (jQuery));
所以我的问题是:
我在哪里传递参数?
我需要做类似下面的事情吗?
(function ($, optionA, optionB) { ...
然后当我返回 .each() 函数时,执行以下操作:
return this.each (function () {
if (optionA) { //execute code}
else if (optionB) { //execute code}
};
还是更像这样:
return this.each ( function (optionA) {
//Do optionA code here
});
return this.each ( function (optionB) {
//Do optionB code here
});
还是两者都不是??如果是这样,它是如何完成的?