jQuery插件与小部件

几个月前,我开始用jQuery插件进行一些实验。 我在Interenet上找到了一些教程,我开始把一些东西放在一起。
几天前我需要建立自己的“插件”并回到我原来的项目中。 为了在互联网上找到更多的信息,我碰到了这些叫做小部件的新“事物”。

根据我的理解,我应该忘记插件并开始开发小部件。 插件是旧概念还是仍然有效? 如果需要带接口的自定义jquery控件,最好的方法是什么?

我正在广泛使用jQuery UI。

您可以编写jQuery插件jQuery UI小部件

取决于你想做什么。 这些都不是过时的 。 如果你编写一个小部件,它将依赖于jQuery UI(当然还有jQuery),如果你编写一个插件,它将只依赖于jQuery。 真的,这取决于你想要达到的目标。

我有一个相同的问题我自己和我偶然发现(jQuery文档):

无状态与有状态插件

大多数jQuery插件都是无状态的; 他们执行一些行动,他们的工作已经完成。 例如,如果使用.text( "hello" )设置元素的文本,则没有设置阶段,结果始终相同。 对于这些类型的插件,仅扩展jQuery的原型是有意义的。

但是,有些插件是有状态的; 他们拥有完整的生命周期,维持状态,并对变化做出反应。 这些插件需要大量专用于初始化和状态管理(有时还有破坏)的代码。 这导致了很多用于构建有状态插件的样板。 更糟糕的是,每个插件作者可能会以不同的方式管理生命周期和状态,从而为不同的插件生成不同的API样式。 小部件工厂旨在解决这两个问题,删除样板并在插件之间创建一致的API。

一致的API

窗口小部件工厂定义如何创建和销毁窗口小部件,获取和设置选项,调用方法以及侦听窗口小部件触发的事件。 通过使用小部件工厂来构建有状态插件,您将自动符合定义的标准,从而使新用户更容易开始使用您的插件。 除了定义界面外,widget工具还为您实现了大部分function。 (……)

在初始化时设置选项

每当您构建一个接受选项的插件时,您应该为尽可能多的选项定义默认值,然后将用户提供的选项与初始化时的默认值合并。 (…)小部件工厂提供此function,甚至更进一步。

我在这里发布function参考,因为这是我第一次寻找答案的地方! 🙂