解决input number类型上下滚动 禁用滚轮事件

Posted yuzihong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决input number类型上下滚动 禁用滚轮事件相关的知识,希望对你有一定的参考价值。

1.去掉input在type="number"时的上下箭头

  

<style>
    input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{
        -webkit-appearance:textfield;
    }    
    input[type="number"]{
        -moz-appearance:textfield;
    }
</style>

2.禁用input数字滚轮事件

<input type="number" onmousewheel="stopScrollFun"  onDOMMouseScroll="stopScrollFun"/>

function stopScrollFun(evt) {  
  evt = evt || window.event;  
    if(evt.preventDefault) {  
    // Firefox  
      evt.preventDefault();  
      evt.stopPropagation();  
    } else {  
      // IE  
      evt.cancelBubble=true;  
      evt.returnValue = false;  
  }  
  return false;  
}

3.使用element-ui+vue时,在el-input加上@mousewheel.native.prevent来阻止鼠标滚动

<el-input type="number" @mousewheel.native.prevent />

如果还需要禁止上下箭头,则可采用以下方式

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button{
   -webkit-appearance: none !important;
   margin: 0;
}
input[type="number"]{-moz-appearance:textfield;}

 

以上是关于解决input number类型上下滚动 禁用滚轮事件的主要内容,如果未能解决你的问题,请参考以下文章

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

如何让input number类型的标签不产生上下加减的按钮

在Chrome与火狐中,输入框input类型为number时,如何去除掉的自带的上下默认箭头

如何让input number类型的标签不产生上下加减的按钮

input的type为number

去掉input的type为number输入框的右侧箭头