我正在尝试限制dijit.form.NumberSpinner,以便它只接受0到0777之间的八进制数。
我尝试通过在构造函数中设置Constraints然后覆盖NumberSpinner的adjust(...)函数来完成此操作。在我的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函数会一遍又一遍地被调用。我不知道为什么它会被重复调用?
有什么想法吗?
答案 0 :(得分:1)
在adjust
函数中,您没有返回octalAdjust
的值 - 您只是在调用它。像这样更改adjust
覆盖:
adjust: function(val, delta) { return octalAdjust(val, delta, this.constraints); }