javascript - 创建有状态的 jQuery 插件是最佳实践吗?如果是这样,我该怎么做?

标签 javascript jquery jquery-plugins

假设我们有一个 jQuery 分页器插件。所以我可以这样做:

$("pager-div").pager({ page: 1, rowsPerPage: 30, count: 1780 });

好的。现在我想将寻呼机移至下一页。我这里有两个选择:

1) 我的插件 $.pager 不返回 jQuery。它返回一个对象,该对象具有名为 nextPage 的方法,因此我可以执行以下操作:

var pager = $("pager-div").pager({ page: 1, rowsPerPage: 30, count: 1780 });
pager.nextPage();

2) 我的插件返回 jQuery。更好的是它保持了可链接性。所以我可以做这样的事情:

$("pager-div").pager({ page: 1, rowsPerPage: 30, count: 1780 });
$("pager-div").nextPage();

这里有两个问题:

  1. 在我看来,方法 2 更好,因为它保持了可链接性,而且我不需要保留对寻呼机的引用。我可以使用 $ 函数在任何地方访问它。问题是:我应该使用方法2吗?
  2. 如果(1)的答案为真,我该如何实现?也就是说,如何在 jQuery 中维护状态?

最佳答案

我投票给选项2。你可以将控制的变量存储在jQuery的数据字段中。

示例:

$(selector).data("option", {page: 1});
alert($.data("option").page);

关于javascript - 创建有状态的 jQuery 插件是最佳实践吗?如果是这样,我该怎么做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7731115/

相关文章:

ajax - 设置 Jquery Ajax 事件

javascript - Jquery 铁燧岩选择器,带有需要转义的字符

javascript - 多个 <select/> 与 KnockoutJS 链接,依赖项存储在数据库中

javascript - Chrome 保留函数的源代码

javascript - 在 jquery 方法中调整窗口大小的调用函数

javascript - 单击链接时无需回发即可获取数据

jQuery:绑定(bind)生成的元素

jquery - 将 jQuery 插件绑定(bind)到事件元素

javascript - 无法设置属性...只有 Getter (javascript es6)

javascript - jquery调整文件高度