任何人都可以向我解释一下input
中keyup
,keypress
,afterkeydown
和knockoutJS
事件参数与input
中的值绑定的确切区别吗?我从阅读link中的这些内容时感到困惑,引用下面的内容:
如果您的值绑定还包含名为 valueUpdate 的参数,则会定义KO应用于检测除更改事件之外的更改的其他浏览器事件。以下字符串值是最常用的选项:
输入 - 当元素或元素的值发生更改时,更新视图模型。请注意,此事件仅由相当现代的浏览器引发(例如,IE 9 +)。
keyup - 在用户释放密钥时更新您的视图模型
keypress - 在用户键入密钥时更新您的视图模型。与keyup不同,这会在用户按住键时重复更新
afterkeydown - 用户开始输入字符后立即更新您的视图模型。这可以通过捕获浏览器的 keydown 事件并异步处理事件来实现。这在某些移动浏览器中不起作用。
如果,如果用户在text
中输入textbox
并且光标不在文本框中,则keypress
事件发生了,我说错了。 keypress
事件用于检测长按键的情况,事件被触发并且字符的记录与按下的时间成比例。keyup
是高级别事件。到keydown
和views
。
keypup 和 afterkeydown 的定义让我感到困惑,并希望在valueUpdate绑定的上下文中了解这两者的特定用例。