0

我试图限制 dijit.form.NumberSpinner 以便它只接受 0 到 0777 之间的八进制数。

我试图通过在构造函数中设置约束然后覆盖 NumberSpinner 的调整(...)函数来做到这一点。在我的 HTML 页面中,我有:

<input name="umask" id="umask" data-dojo-type="dijit.form.NumberSpinner"
value="022" data-dojo-props="smallDelta:1, largeDelta:4,
constraints:{min:0, max:777, places:0},
adjust: function(val, delta) { octalAdjust(val, delta, this.constraints); }"/>

在我包含的 JavaScript 中,我有:

function octalAdjust(val, delta, constraints) {
     ...
 return newval;
};

我遇到的问题是,当我单击数字微调器上的“向上”或“向下”按钮时,我的 octalAdjust 函数会被一遍又一遍地调用。我不知道为什么它会被重复调用?

有任何想法吗?

4

1 回答 1

1

在你的adjust函数中,你没有返回octalAdjust- 你只是在调用它。像这样更改您的adjust覆盖:

adjust: function(val, delta) { return octalAdjust(val, delta, this.constraints); }
于 2013-01-02T22:18:15.290 回答