jQuery插件与小部件

Lef*_*tyX 25 javascript jquery jquery-ui jquery-plugins jquery-widgets

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

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

我正在广泛使用jQuery UI.

小智 27

我有一个问题,相当于我自己,我无意中发现这个 (jQuery的文档):

无状态与有状态插件

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

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

一致的API

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

在初始化时设置选项

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

我在这里发布功能参考,因为这是我第一次寻找答案的地方!:)


kap*_*apa 24

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

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