0

我开发了一个具有默认选项的 jQuery 插件:

$.fn.incromentor.defaults = {
   max : 65355,
   min : 0
};

在插件的初始化中,我将用户选项与插件默认选项合并使用$.extend

function init( $elm, options )
{
    this.$element = $elm;
    this.options = $.extend( {}, $.fn.incromentor.defaults, options ); 
}

所以问题是,如果用户设置minor max,则0该属性变为未定义!
为什么会这样,我怎样才能存储一个简单的 0?

这里有一个 jsFiddle:http: //jsfiddle.net/KDXa6/2/

编辑
在 JSLint 中对代码进行 linting 后,错误消失了,所以我怀疑我的输入中有一个模糊的错误。

4

1 回答 1

0

$.fn.incromentor.defaults = {} will overwrite your default options, so something else such as more_text, less_text is turned to undefined. Your Users should pass their options into the constructor such as

$('#myel').Incrementor({ max : 65355, min : 0});

--

$this to $(this) http://jsfiddle.net/KDXa6/1/

于 2012-07-07T17:10:00.187 回答