Javascript 阻止onkeypress事件是否也会阻止onchange?有什么办法可以绕过这个?

Javascript 阻止onkeypress事件是否也会阻止onchange?有什么办法可以绕过这个?,javascript,javascript-events,Javascript,Javascript Events,我正在使用一个定制的掩码输入,在按键时调用event.preventDefault。当我尝试向其添加onchange事件时,它根本不会触发。它已正确连接,因为手动触发。使用jQuery进行更改是有效的 我已经从keypress处理程序中删除了preventDefault调用以进行测试,onchange确实会启动。这种行为是故意的吗?有什么办法可以绕过它吗?我认为如果不阻止按键的默认设置,我无法做到这一点,因为在将按键插入输入后,会发生大量的条件检查和选择范围操作。对我来说,这非常有意义。在输入中

我正在使用一个定制的掩码输入,在按键时调用event.preventDefault。当我尝试向其添加onchange事件时,它根本不会触发。它已正确连接,因为手动触发。使用jQuery进行更改是有效的


我已经从keypress处理程序中删除了preventDefault调用以进行测试,onchange确实会启动。这种行为是故意的吗?有什么办法可以绕过它吗?我认为如果不阻止按键的默认设置,我无法做到这一点,因为在将按键插入输入后,会发生大量的条件检查和选择范围操作。

对我来说,这非常有意义。在输入中按某个键的默认行为是更改其值(光标键和修改器键除外)。我会存储输入的初始值,然后在每次按默认键后比较前一个值和当前值。如果有任何更改,我会手动触发更改事件,并更新用于跟踪先前值的变量。顺便说一句,您看过吗?