Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery插件开发_Jquery_Templates_Plugins - Fatal编程技术网

jQuery插件开发

jQuery插件开发,jquery,templates,plugins,Jquery,Templates,Plugins,所以今天,在看到以下示例和模板后,我决定阅读关于jquery插件开发的内容: 现在,我有以下问题: @Css技巧: 为什么他有一个名为el的参数,那东西到底在哪里 初始化 他为什么要向DOM对象添加反向引用 为什么他不使用 jQuery文档 @朗普尔斯 另外,他为什么不使用jqueryoffice的模式呢 为什么他没有,即他的mouseweel()方法绑定到插件 名称空间 这仅仅是一种糟糕的做法,还是一种更好的做法 先谢谢你 编辑: 下面有人说这个可能太具体了。因此,我试图用另一种方

所以今天,在看到以下示例和模板后,我决定阅读关于jquery插件开发的内容:

现在,我有以下问题:

@Css技巧:

  • 为什么他有一个名为
    el
    的参数,那东西到底在哪里 初始化
  • 他为什么要向DOM对象添加反向引用
  • 为什么他不使用 jQuery文档
@朗普尔斯

  • 另外,他为什么不使用jqueryoffice的模式呢
  • 为什么他没有,即他的
    mouseweel()
    方法绑定到插件 名称空间
  • 这仅仅是一种糟糕的做法,还是一种更好的做法
先谢谢你

编辑:


下面有人说这个可能太具体了。因此,我试图用另一种方式来表述它;关于插件开发的官方文档中是否有问题或不好的建议,应该以其他方式处理?

我真的建议以此为出发点


    • 我真的建议以此为出发点

      为什么他有一个名为el的参数,那个东西在哪里初始化过

      el
      是一个参数,不需要初始化。当插件被使用时,它被传入。例如,
      $。yourpluginname($(“”)[0])
      将使用
      el
      作为未连接到DOM的空div初始化插件

      他为什么要向DOM对象添加反向引用

      反向引用只是将当前实例存储在元素上,以便将来使用该元素调用插件时可以引用现有实例,而不是创建新实例

      为什么他不使用jQuery文档假定的
      var方法={//…}
      系统

      因为我们作为第三方开发者可以自由地使用我们想要的任何结构开发插件

      另外,他为什么不使用jqueryoffice的模式呢

      见前面的答案

      为什么他没有绑定到插件名称空间,即他的mousewheel()方法

      可能是不好的做法,但最终由插件开发人员决定是否有必要这样做

      这仅仅是一种糟糕的做法,还是一种更好的做法

      两者都不是,它只是证明了一个事实,即作为开发人员,我们可以使用我们想要的任何结构开发jQuery插件

      我更喜欢在jQueryUIWidget系统下开发,或者使用易于扩展/修改的结构,这样我就不会得到n个不同版本的plugin.js。(jquery文档中内容的修改版本)

      为什么他有一个名为el的参数,那个东西在哪里初始化过

      el
      是一个参数,不需要初始化。当插件被使用时,它被传入。例如,
      $。yourpluginname($(“”)[0])
      将使用
      el
      作为未连接到DOM的空div初始化插件

      他为什么要向DOM对象添加反向引用

      反向引用只是将当前实例存储在元素上,以便将来使用该元素调用插件时可以引用现有实例,而不是创建新实例

      为什么他不使用jQuery文档假定的
      var方法={//…}
      系统

      因为我们作为第三方开发者可以自由地使用我们想要的任何结构开发插件

      另外,他为什么不使用jqueryoffice的模式呢

      见前面的答案

      为什么他没有绑定到插件名称空间,即他的mousewheel()方法

      可能是不好的做法,但最终由插件开发人员决定是否有必要这样做

      这仅仅是一种糟糕的做法,还是一种更好的做法

      两者都不是,它只是证明了一个事实,即作为开发人员,我们可以使用我们想要的任何结构开发jQuery插件


      我更喜欢在jQueryUIWidget系统下开发,或者使用易于扩展/修改的结构,这样我就不会得到n个不同版本的plugin.js。(jquery文档中内容的修改版)

      我将尝试回答尽可能多的问题

      “官方”jQuery模式只是一个建议。它说明了最佳实践,并不是决定性的。也就是说,它太好了,我什么都不用了。“主管”部分(代码末尾的右边)非常聪明

      CSS技巧 此模式最糟糕的一面是将成员同时放入
      $
      $.fn
      名称空间。前者是可以避免的,例如使用jQuery“官方”模式

      el
      是从
      $.fn.yourPluginName()
      传递给
      $.yourPluginName()
      的形式变量,它依次表示调用插件的jQuery选择中的每个元素

      我不太明白作者是如何迎合插件的公共方法的

      朗普尔斯 这是一个更好的模式。它将一个成员放入
      $.fn
      命名空间中。其他一切都是“私人的”(在最外面的封闭处)

      不需要也不提供公共方法


      mouseweel
      代码本身不是插件。它最好被归类为“插件”。
      mousewheel
      向jQuery添加了一个事件类型,因此元素可以附加
      mousewheel
      处理程序/命名/触发等。方法与“单击”、“鼠标悬停”、“鼠标悬停”等相同。

      我将尝试回答尽可能多的问题

      “官方”jQuery模式只是一个建议。它说明了最佳实践,并不是决定性的。也就是说,它太好了,我什么都不用了。“主管”部分(位于cod末尾