几个月前,我开始使用 jQuery 插件进行一些实验。我在 Internet 上找到了一些教程,然后开始整理一些东西。
几天前,我需要构建自己的“插件”并回到我的旧项目。试图在互联网上找到更多信息,我偶然发现了这些称为小部件的新“东西”。
据我了解,我应该忘记插件并开始开发小部件。插件是一个旧概念还是仍然有效?如果您需要带有界面的自定义 jquery 控件,最好的方法是什么?
我正在广泛使用 jQuery UI。
几个月前,我开始使用 jQuery 插件进行一些实验。我在 Internet 上找到了一些教程,然后开始整理一些东西。
几天前,我需要构建自己的“插件”并回到我的旧项目。试图在互联网上找到更多信息,我偶然发现了这些称为小部件的新“东西”。
据我了解,我应该忘记插件并开始开发小部件。插件是一个旧概念还是仍然有效?如果您需要带有界面的自定义 jquery 控件,最好的方法是什么?
我正在广泛使用 jQuery UI。
我自己也有一个类似的问题,我偶然发现了这个 (jQuery文档):
无状态与有状态插件
大多数 jQuery 插件都是无状态的;他们执行了一些操作,他们的工作就完成了。例如,如果您使用 设置元素的文本
.text( "hello" )
,则没有设置阶段,结果始终相同。对于这些类型的插件,扩展 jQuery 的原型是有意义的。但是,有些插件是有状态的;它们有完整的生命周期、维护状态并对变化做出反应。这些插件需要大量专用于初始化和状态管理(有时甚至是销毁)的代码。这导致了很多用于构建有状态插件的样板。更糟糕的是,每个插件作者可能会以不同的方式管理生命周期和状态,从而导致不同插件的 API 样式不同。小部件工厂旨在解决这两个问题,删除样板文件并跨插件创建一致的 API。
一致的 API
小部件工厂定义了如何创建和销毁小部件、获取和设置选项、调用方法以及监听小部件触发的事件。通过使用小部件工厂来构建您的有状态插件,您将自动符合定义的标准,使新用户更容易开始使用您的插件。除了定义接口外,小部件工厂还为您实现了大部分功能。(...)
设置初始化选项
每当您构建一个接受选项的插件时,您应该为尽可能多的选项定义默认值,然后将用户提供的选项与初始化时的默认值合并。(...) 小部件工厂提供了此功能,甚至更进一步。
我在这里发布功能参考,因为这是我第一次寻找答案的地方!:)
您可以编写jQuery 插件或jQuery UI 小部件。
取决于你想做什么。这些都不是过时的。如果你写一个小部件,它会依赖 jQuery UI(当然还有 jQuery),如果你写一个插件,它只会依赖 jQuery。真的,这取决于你想要达到的目标。