创建有状态的jQuery插件是最佳实践吗?如果有,我该怎么做呢?
Is it a best practice to create a jQuery plug-in that is stateful ? If so, how do I do that?
假设我们有一个jQuery寻呼机插件。所以我可以这样写:
$("pager-div").pager({ page: 1, rowsPerPage: 30, count: 1780 });
Ok。现在我想把传呼机移到下一页。这里有两个选项:
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();
这里有两个问题:
- 在我看来,方法2更好,因为它保持了链性,我不需要保持对寻呼机的引用。我可以使用$函数在任何地方访问它。问题是:我应该使用方法2吗?
- 如果(1)的答案是正确的,我如何实现它?也就是说,我如何在jQuery中维护状态?
我选选项2。你可以把你的变量存储在jQuery的data字段中。
的例子:
$(selector).data("option", {page: 1});
alert($.data("option").page);
相关文章:
- 我想重定向点击,然后更改按钮文本,我该怎么做
- I'我试图在我的网页上动态地上下移动元素.我该怎么做
- 我尝试将引导下拉按钮添加到 但下拉菜单不起作用.我该怎么做
- 我该怎么做才能防止在用户单击后退按钮时出现咆哮消息
- 我该怎么做;仅百分比”;Regex工作
- 我该怎么做[硬编码号码].[函数调用]在Javascript中工作
- 我正在尝试一个接一个地播放一个 mp3 文件(一个作为介绍),但它不起作用.我该怎么做
- 我该怎么做:“按下录制按钮时,按钮将闪烁”
- 我该怎么做才能创建一个永远有效的 HTML 页面
- 我希望我的视频在点击时更改为另一个视频,我该怎么做
- (飞镖)我希望触发两个不同的onclick功能,具体取决于单击时是否选中了单选按钮.我该怎么做
- ReactJS:我该怎么做,我正确地使用这个文本输入组件
- 想将 IMG 更改为链接,我该怎么做
- Facebook:对话框窗口弹出 - 导航离开时,我该怎么做
- jquery/js - 我有一堆值(字符串).我想通过 POST 将其发送到另一个 URL,我该怎么做
- 手风琴我想更改第一个 li 边框半径和最后一个 li 边框半径,我该怎么做请帮助我.
- list.setGrouped(true)DOESN'T工作??我该怎么做
- 我该怎么做?(Chrome扩展)
- 此代码有效,但应该是一个循环.我该怎么做
- 创建有状态的jQuery插件是最佳实践吗?如果有,我该怎么做呢?