gpt4 book ai didi

javascript - jQuery 插件 : If I want to call something like $ ('selector' ). plugin.group.method(),我该如何实现?

转载 作者:行者123 更新时间:2023-11-30 18:25:52 26 4
gpt4 key购买 nike

我已经编写了一些相对简单的 jQuery 插件,但我正在考虑编写一些更高级的东西,以便使站点上的常用方法易于访问和 DRY

例如,我可能有这样的结构:

plugin- popup- element...=== popup ===- login- product...=== element ===- shoppingCart- loginStatus...

因此,要绑定(bind)弹出登录弹出事件,我希望能够做到:$('#login_button').plugin.popup.login();

执行此操作的最佳方法是什么?有没有更好的方法来实现我想做的事情?

干杯,

最佳答案

farhan Ahmad 的做法非常正确……它只需要更深的层次来满足您的需求,您的实现方式如下所示:

jQuery.fn.plugin = function(){
//"community" (global to local methods) vars here.
var selectedObjects = this; //-- save scope so you can use it later

// return the objects so you can call them as necessary
return {
popup: { //plugin.popup
login: function(){ //plugin.popup.login
//selectedObjects contains the original scope
console.log(selectedObjects);
},
product: function(){} //plugin.popup.product
},
element: { //plugin.element
shoppingCart: function() {}, //plugin.element.shoppingCart
loginStatus: function() {} //plugin.element.loginStatus
}
}
}

所以现在如果你调用:$("#someDiv").plugin.login(); 结果将如预期。我希望这会有所帮助。

关于javascript - jQuery 插件 : If I want to call something like $ ('selector' ). plugin.group.method(),我该如何实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10866806/

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