【问题标题】:jQuery plugins vs widgetsjQuery 插件与小部件
【发布时间】:2011-09-10 06:36:08
【问题描述】:

几个月前,我开始使用 jQuery 插件进行一些实验。我在 Internet 上找到了一些教程,然后开始整理。
几天前,我需要构建自己的“插件”并回到我的旧项目。试图在互联网上找到更多信息,我偶然发现了这些称为小部件的新“东西”。

据我所知,我应该忘记插件并开始开发小部件。 插件是一个旧概念还是仍然有效? 如果您需要带有界面的自定义 jquery 控件,最好的方法是什么?

我广泛使用 jQuery UI。

【问题讨论】:

    标签: javascript jquery jquery-ui jquery-plugins jquery-widgets


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的回答。当我读到这篇文章时,我的困惑开始了:erichynds.com/jquery/tips-for-developing-jquery-ui-widgets 这家伙已经将“工具”从插件转换为小部件。
    • @LeftyX 我猜他做出了一个决定,即依赖更多的库,他将获得一些更好的现成函数、事件和东西。可能更容易开发,但如果项目不使用 jQuery UI,则无法使用您的插件/小部件。
    【解决方案2】:

    我自己也有类似的问题,我偶然发现了this(jQuery 文档):

    无状态与有状态插件

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

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

    一致的 API

    小部件工厂定义了如何创建和销毁小部件,获取和 设置选项、调用方法并监听由 小部件。通过使用小部件工厂来构建您的有状态插件, 您自动符合定义的标准,使其 新用户更容易开始使用您的插件。此外 定义接口,小部件工厂也实现了很多 这个功能为您服务。 (...)

    设置初始化选项

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

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

    【讨论】:

    • 那好多了...引用比发布链接更好?!!或两者 !!!下次我会记住的...... :)
    猜你喜欢
    • 1970-01-01
    • 2011-02-15
    • 1970-01-01
    • 2011-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多