gpt4 book ai didi

javascript - 如何禁用 dijit.form.NumberSpinner 小部件上的鼠标滚轮事件?

转载 作者:数据小太阳 更新时间:2023-10-29 06:08:24 25 4
gpt4 key购买 nike

我在基于 dojo 的应用程序中使用了一些 dijit.form.NumberSpinner 小部件,所有这些小部件都连接到 onChange 操作。

当一个区域有很多 NumberSpinner 时会出现问题:用户滚动页面并在使用鼠标滚轮滚动时意外地用意外值填充 NumberSpinner 字段遍布整个地区。

是否可以通过某种方式禁用 dijit.form.NumberSpinner 小部件上的鼠标滚轮事件?

最佳答案

如果您永远不需要它,并且您可以访问 dojo 源代码并且能够进行自己的构建,请在 dijit/form/_Spinner.js 上注释这一行:

postCreate: function(){
// [...]
// this.connect(this.domNode, !has("mozilla") ? "onmousewheel" : 'DOMMouseScroll', "_mouseWheeled");
// [...]
}

或者,您可以在小部件上将 intermediateChanges 属性设置为 true,然后执行如下操作:

在你的 html 中:

<input id="spinner1" name="someNumber" data-dojo-type="dijit.form.NumberSpinner" data-dojo-props="value:'1000',smallDelta:'10',constraints:{min:9,max:1550,places:0}, intermediateChanges:'true'"/>

在你的 javascript block 中:

dojo.ready(function(){
var spinner = dijit.byId("spinner1");
var currentValue = spinner.get('value');
dojo.connect(spinner, "onChange", function(value){
currentValue = value;
});
dojo.connect(spinner.domNode, (!dojo.isMozilla ? "onmousewheel" : "DOMMouseScroll"), function(e){
spinner.set('value',currentValue);
});

});

关于javascript - 如何禁用 dijit.form.NumberSpinner 小部件上的鼠标滚轮事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8212097/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com