使用OOP编写jQuery插件

fab*_*ian 2 javascript jquery

我想知道编写jQuery插件的当前" 最先进"是什么.我阅读了很多不同的方法,但我不知道哪种方法最合适.

你能使用OOP重新编写有用的链接/模板来编写jQuery插件吗?

谢谢

Wic*_*ams 7

基本规则是:

  1. 不要用你的代码混淆jQuery命名空间 - 每个插件只应该有一个方法添加到jQuery对象的root或者 jQuery.fn

  2. 使用立即执行的匿名函数来确保代码只运行一次

  3. 传入jQuery对象作为带有标识符的参数$,可以安全地使用$在这个范围内然后:)

  4. 记住当你添加一个新方法时jQuery.fn,this绑定到一个jQuery包装集,你不必再次包装它!

  5. 用于this.each遍历所有匹配的元素

  6. this从插件返回以启用可链接性(除非您的插件返回一个不同的值)

  7. 允许传入和覆盖在某个默认对象上的选项(您也公开要覆盖它)

  8. 允许用户为全局更改重新设置默认值

    (function($) { //see point 3
    
        var defaults = {
           someDefaultValues : "value"
        };
    
        $.fn.myPlugin = function(options) { // see point 1, only 1 method
    
           var settings = $.extend({}, defaults, options); //see point 7
    
            this.each(function() { //see point 5
    
               var currentElement = $(this); //"this" now refers to current DOM element
               //put bulk of logic here
    
            });
    
            return this; //see point 6
        };
        //see point 8, enables users to completely override defaults, rather than per call via options
        $.fn.myPlugin.defaults = defaults; 
    
    })(jQuery); //see point 2
    
    Run Code Online (Sandbox Code Playgroud)

为了获得一个好的指南,请参阅jQuery文档,考虑如何为每个插件执行多个方法,以及在元素和其他内容上存储数据,他们会进入更高级的详细信息.我拥有的大多数东西