首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在React中禁用`<input type=number>`上的滚动

问在React中禁用`<input type=number>`上的滚动
EN

Stack Overflow用户
提问于 2020-08-03 14:03:36
回答 6查看 6.7K关注 0票数 14

这个问题之前已经问过了,但提供的解决方案只适用于jQuery,因为我在ReactJs中也面临着同样的问题。

是否可以禁用滚轮更改输入数字字段中的数字?我使用CSS删除了微调器箭头,但鼠标滚轮仍在工作,并且功能混乱。

我希望输入类型为number,因为它在移动/触摸设备上提供了数字键盘。

EN

回答 6

Stack Overflow用户

发布于 2021-05-07 17:08:48

最简单的答案:

代码语言:javascript
复制
<input type="number" onWheel={(e) => e.target.blur()} />

e是event的缩写。

这也是可行的:

代码语言:javascript
复制
<input type="number" onWheel={() => document.activeElement.blur()} />

这两种方法中的任何一种都可以在函数组件或类组件中使用。

票数 13
EN

Stack Overflow用户

发布于 2021-05-11 14:26:24

​

代码语言:javascript
复制
<input type="tel" pattern="[0-9]*" />

​

你可以使用<input type="tel" pattern="[0-9]*" />,我不记得你看到过任何滚动条,你也可以在移动设备上使用数字键盘。

票数 3
EN

Stack Overflow用户

发布于 2021-04-19 15:01:14

您可以在onWheel处理程序上模糊该字段。像这样的东西

代码语言:javascript
复制
<input type='number' onWheel={ event => event.currentTarget.blur() } />
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63224459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档