谁解释下 标红 的代码什么意思(easyUI)data方法
$.fn.progressbar = function(options, param){
if (typeof options == 'string'){//为了支持 使用如下形式的方法调用 $("#element").progressbar("方法名称",{参数})
var method = $.fn.progressbar.methods[options];//根据KEY获取方法,区别数组
if (method){
return method(this, param);
}
}
options = options || {};//options不是String类型,则忽略param参数
return this.each(function(){//this是jq对象
var state = $.data(this, 'progressbar');
if (state){
$.extend(state.options, options);
} else {
state = $.data(this, 'progressbar', {
options: $.extend(
{},
$.fn.progressbar.defaults,
$.fn.progressbar.parseOptions(this), options),
bar: init(this)
});
}
$(this).progressbar('setValue', state.options.value);
setSize(this);
});
if (typeof options == 'string'){//为了支持 使用如下形式的方法调用 $("#element").progressbar("方法名称",{参数})
var method = $.fn.progressbar.methods[options];//根据KEY获取方法,区别数组
if (method){
return method(this, param);
}
}
options = options || {};//options不是String类型,则忽略param参数
return this.each(function(){//this是jq对象
var state = $.data(this, 'progressbar');
if (state){
$.extend(state.options, options);
} else {
state = $.data(this, 'progressbar', {
options: $.extend(
{},
$.fn.progressbar.defaults,
$.fn.progressbar.parseOptions(this), options),
bar: init(this)
});
}
$(this).progressbar('setValue', state.options.value);
setSize(this);
});
};
这是easyui进度条插件里的一段代码,我想问下标红的data方法是什么作用?是easyui自己实现的还是JQuery自带的,easyui里很多地方都有类似的用法
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
呵呵,那肯定你的语文是体育老师教的
我看了标题,还以为是用代码来描红的,结果悲剧了……
这个我当然知道,但是你没发现这里还有返回值吗?这个语义该怎么解释?把this->'progressbar'这个键值对缓存到jquery对象里?
看错API了,看的对象级别的data方法,应该看类级别的data方法
好好补补jQuery基础吧,$.data() 是jQuery提供针对缓存数据的方法。