我正在尝试为jQuery创建一个不接受起始参数的插件。我一直在寻找其他类型的教程,但找不到它。我要实现的目标如下:
$.myCode({username: 'Stackoverflow'});
我发现的所有教程都要求您使用第一个参数,例如:
$('.my-element').myCode({username: 'Stackoverflow'});
有人知道如何实现我的目标吗?
答案 0 :(得分:1)
您正在为要实现的目标正确地附加方法。例如:
...where artists like 'Q%'...
(function($){
var options = {};
$.whoIsDis = function () {
if (typeof arguments[0] === 'string') {
if (arguments[0] === 'iam') {
options.username = arguments[1].username;
console.log(`Hello ${options.username}.`);
} else if (arguments[0] === 'whoareyou') {
if (!options.username) {
console.log('I...I don\'t know who I is...');
} else {
console.log(`I is ${options.username}!!!`);
}
}
}
return $;
};
}(jQuery));
$.whoIsDis('whoareyou')
.whoIsDis('iam', {username: 'Jimmy'})
.whoIsDis('whoareyou');
虚拟的小例子,但这里的要点是,如果您不需要已选择的元素来使插件正常工作,则可以将其附加到<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
命名空间。如果只希望先前选择的元素才可用,则只需将其附加到jQuery
。