【发布时间】:2011-04-25 19:28:44
【问题描述】:
只是想知道是否有人知道 HTML5 <input type="number" /> 元素在单击向上/向下箭头时会触发什么事件:
当焦点离开输入字段时,我已经在使用onblur。
【问题讨论】:
-
这好像是chrome的bug stackoverflow.com/questions/44978087/…
标签: javascript html
只是想知道是否有人知道 HTML5 <input type="number" /> 元素在单击向上/向下箭头时会触发什么事件:
当焦点离开输入字段时,我已经在使用onblur。
【问题讨论】:
标签: javascript html
有一个current bug in Edge 防止在数字输入中使用箭头键时触发更改或输入。
【讨论】:
change 将是在字段值更改时触发的事件。
我认为 HTML5 事件 input 也会触发。
【讨论】:
oninput 会在单击“向上”和“向下”箭头时触发。
change 在输入值时不会触发,只有在单击按钮时才会触发(至少在 Firefox 上)。
input 就像keyup change 之间的融合
我发现对于 jQuery,以下代码涵盖了 Chrome 中的键盘输入、鼠标滚轮更改和按钮点击,并且还处理了 Firefox 中的键盘输入
$("input[type=number]").bind('keyup input', function(){
// handle event
});
【讨论】:
.bind() 现在已弃用,取而代之的是 .on()
我发现 onkeyup 和 onchange 涵盖了 Chrome 19 中的所有内容。
这处理直接值输入、向上向下箭头按键、单击按钮和滚动鼠标滚轮。
onchange 在 Chrome 中就足够了,但其他仅将字段呈现为文本框的浏览器需要 onkeyup 绑定,它可以完美地读取新值。
单独绑定mousewheel 事件不太成功。该事件触发得太早 - 在字段值更新之前 - 因此总是给出该字段的先前值
【讨论】:
onchange 事件在模糊时触发,但oninput 事件在您键入时触发。也许您可能想在oninput 事件上设置一个计时器,并在用户停止输入一秒钟后触发您的onchange 事件?
【讨论】: