成员变为未定义

Member turns to undefined

本文关键字:未定义 成员      更新时间:2023-09-26

我开发了一个jQuery插件,它有默认选项:

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

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

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

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

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

编辑
在 JSLint 中检查代码后,错误消失了,所以我怀疑我的键入中存在一个模糊的错误。

$.fn.incromentor.defaults = {} 将覆盖您的默认选项,因此其他内容(如 more_text、less_text)将变为未定义。用户应将其选项传递到构造函数中,例如

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

--

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