输入类型编号等效于step = 0

时间:2018-09-21 07:43:30

标签: html angular typescript

我只需要一个数字输入,所以我输入type =“ number”。然后,当用户使用键盘时,它不需要增加或减少(因为此事件,我需要做其他事情,并且我不想自己做+1或-1)。

我正在寻找一种干净的方法来做到这一点。我需要关于step = 0的评论,但它不起作用。实际上,令我惊讶的是,没有财产可以轻松做到这一点。

3 个答案:

答案 0 :(得分:1)

您可以像这样向输入添加属性:

<input type="number" onwheel="this.blur()" />

这将禁用滚动

答案 1 :(得分:0)

您可以阻止本机行为:

document.getElementById('yourInputID').addEventListener('keydown', function(e) {
    if (e.which === 38 || e.which === 40) {
        e.preventDefault();
    }
});

答案 2 :(得分:0)

如果您想阻止按键的增大和减小,请使用@HostListener监听文档中的事件。

@HostListener('document:keypress', [$event])
      function (event: KeyboardEvent) {
        // you block the increase and decrease here
      });

我不太确定事件的合奏,您可能想对此稍作探讨,但是@HostListener似乎是最好的选择

还对输入的值,此组件内部或输入之前的上组件进行+1 -1吗?