tcu*_*rdt 3 javascript jquery jquery-plugins
根据开发人员文档,jquery插件应该只有一个命名空间用于它们提供的所有功能.只要您只为每个上下文公开一个函数(static/element),这是直截了当的.
(function($){
var
state_a = 0,
$.myplugin = function(in_options) {
// static
return this;
}
$.fn.myplugin = function(in_options) {
// element
return this;
}
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
这使得这样的调用成为可能:
$("elem").myplugin(options);
jQuery.myplugin(options);
Run Code Online (Sandbox Code Playgroud)
如果您有多个功能并且需要共享状态,那么最佳方法是什么?我想像这样调用我的插件:
$("elem").myplugin.start(options);
$("elem").myplugin.stop();
jQuery.myplugin.start(options);
jQuery.myplugin.stop();
Run Code Online (Sandbox Code Playgroud)
我之前使用过arguments.callee:
(function ($) {
$.fn.pagination = function (options) {
var defaults = {
};
options = $.extend(defaults, options);
var object = $(this);
arguments.callee.updatePaging = function () {
//do stuff
};
});
Run Code Online (Sandbox Code Playgroud)
然后,在您的页面上:
var pagination = $("#pagination");
pagination.pagination();
pagination.pagination.updatePaging();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2765 次 |
| 最近记录: |