javascript - 编写更好的 jQuery 插件

标签 javascript jquery events plugins

目前我的 jQuery 插件在 if 语句中运行它的逻辑。

例如我有:

(function($) {
    $.fn.myplugin = function(action) {

        if(action == "foo"){

        }

        if(action == "bar"){

        }

        if(action == "grapefruits"){            

        }

    }
})(jQuery);

有没有更好的方法来解决这个问题?

事件处理程序也一样,我可以在插件中声明它们吗?

最佳答案

您可以在对象中存储不同的函数并使用索引器,如下所示:

(function($) {
    var methods = {
        foo: function(action) { ... },
        bar: function(action, someParam) { ... },
        grapefruits: function(action, param1, param2) { ... },
        ...
    };

    $.fn.myplugin = function(action) {    
        methods[action].apply(this, arguments);
    }
})(jQuery);

关于javascript - 编写更好的 jQuery 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2352077/

相关文章:

javascript - 自动填写复制粘贴的电话号码字段

javascript - 用于网络应用程序的 Google 应用程序脚本无法正常工作

javascript - 为什么全局对象属性在函数后不更新?

当文本框以编程方式更改时的 javascript 触发事件

Java:格式化Javascript代码

design-patterns - javascript模块模式中 undefined variable 的意义是什么

javascript - jQuery keyup 过滤器在内容位于列中时有效,但在 float : left; 时无效

jquery - textarea 未填充表格单元格

javascript - 在用于 html 控件的 javascript 中选择索引更改事件

javascript - 如何从数据表滚动扩展中获取显示行?