gpt4 book ai didi

javascript - 对象作为 jQuery.fn 原型(prototype)?

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

如果我这样定义原型(prototype)

jQuery.fn.myFunc = function() {
console.log(this);
}

并这样调用它:

$('div').myFunc();
myFunc 中的

this 将引用 jQuery 对象选择。

现在,如果我不想用多个附加函数污染.fn,我可以做类似的事情

jQuery.fn.myPlugin =  {

myFunc1: function() {

},

myFunc2: function() {

}

}

如果我将其命名为 $('div').myPlugin.myFunc1(); - 如何获取对 myFunc1 内选定对象的引用?或者有不同的、更好的方法吗?

最佳答案

不。不能那样做。相反,将其定义为函数,然后向该函数添加属性。

jQuery.fn.myPlugin = function() {
console.log(this);
};

jQuery.fn.myPlugin.myFunc1 = function() {

};

jQuery.fn.myPlugin.myFunc2 = function() {

};

请注意,myFunc1 和 myFunc2 仍然无法访问所选元素,因此以这种方式定义它们相对没有用,除了它们可以很容易地被其他开发人员覆盖(这是一件好事)之外

在插件中添加其他方法的正常方法是让插件方法接受一个参数,该参数可以是用于初始化插件的对象,也可以是用于在元素上执行目标方法的字符串。例如,$("somediv").myPlugin("myFunc1")

关于javascript - 对象作为 jQuery.fn 原型(prototype)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19189606/

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