我开发了一个jQuery插件,它有默认选项:
$.fn.incromentor.defaults = {
max : 65355,
min : 0
};
在插件的初始化中,我使用$.extend
function init( $elm, options )
{
this.$element = $elm;
this.options = $.extend( {}, $.fn.incromentor.defaults, options );
}
问题是,如果用户将min
或max
设置为0
,该属性将变为未定义!
为什么这样,我怎么能存储一个简单的0?
这里有一个jsFiddle:http://jsfiddle.net/KDXa6/2/
修改
在JSLint中删除代码之后,错误消失了,所以我怀疑在输入时出现了一个模糊的错误。
答案 0 :(得分:0)
$。fn.incromentor.defaults = {}将覆盖您的默认选项,因此其他内容(例如more_text,less_text)将变为未定义。您的用户应将其选项传递给构造函数,例如
$('#myel').Incrementor({ max : 65355, min : 0});
-
$ this to $(this)http://jsfiddle.net/KDXa6/1/