0

デフォルトのオプションを持つ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でコードをリントした後、エラーが消えたので、入力中にあいまいなエラーがあったのではないかと思います。

4

1 に答える 1

0

$.fn.incromentor.defaults = {} はデフォルトのオプションを上書きするので、more_text や less_text などは undefined になります。ユーザーは、次のようなコンストラクターにオプションを渡す必要があります。

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

--

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

于 2012-07-07T17:10:00.187 に答える