gpt4 book ai didi

jquery - 如何制作一个不绑定(bind)到元素的简单 jQuery 插件?

转载 作者:行者123 更新时间:2023-12-01 00:11:14 25 4
gpt4 key购买 nike

出于某种原因,我只能找到直接绑定(bind)到现有元素的插件示例,例如 $(selector).myPlugin();

我想要做的就是简单地调用带有选项的 new myPlugin() 。

new myPlugin({
'option1': 'option 1 value',
'option2': 'option 2 value',
'option3': 'option 3 value',
'option4': 'option 4 value'
});

我有一个最多有 8 个参数的常规函数​​,但我并不总是需要定义所有参数,而且我讨厌必须包含所有不需要定义的参数的默认值。

function myFunction(param1, param2, param3, param4, param5, param6, param7, param8){
// Operations here
}

有时我只需要定义第一个和第五个参数或其他参数,其余的我需要默认值。这是一个痛苦。

也许我在搜索中错过了这样的示例。

最佳答案

您可以仅使用 $ 命名空间来声明新函数,并使用 $.extend() 来处理默认值:

(function($) {
var defaults = {
name: 'Jack',
number: '555-jack'
}

$.myPlugin = function(options) {
var settings = $.extend({}, defaults, options);

this.someFunction = function() {
// you can use settings here
}
}
}(jQuery));

我将默认值定义为私有(private)变量(外部代码无法访问它)并在 myPlugin 构造函数内使用它。调用如何工作的示例:

var x = new $.myPlugin({
number: '666-something'
});

在构造函数内部,settings 变量包含来自defaults 的名称和来自构造函数参数的数字。

关于jquery - 如何制作一个不绑定(bind)到元素的简单 jQuery 插件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10836032/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com