我在这篇文章(文章)中了解到关于事件处理程序的以下概念:
对于非冒泡事件,分派的顺序如下:
1. 捕获阶段:所有祖先元素上的“捕获”事件处理程序都会被触发。
2. 事件被触发在目标元素上,这意味着所有为特定事件注册在该元素上的事件处理程序都会被执行(顺序未定义!)。
3. 执行默认操作(如果在任何处理程序中没有被取消)。
对于冒泡事件,顺序如下:
1. 捕获阶段:所有祖先元素上的“捕获”事件处理程序都会被触发。
2. 事件被触发在目标元素上。
3. 冒泡阶段:事件被触发在从目标元素向上的所有祖先元素上。
4. 执行默认操作(如果在任何处理程序中没有被取消)。
这里,默认操作基本上是用户期望在产生事件时浏览器进行的活动,例如按键时在文本区域中出现字符。
有没有人知道如何附加回调函数,以在执行默认操作后调用它?因此,我想在字符出现在文本区域时捕获事件。
onchange不是解决方案,因为它在失去焦点时触发。onkeyup也不是解决方案。
有什么想法吗?
[更新] 我正在尝试在更改发生后立即捕获文本区域值更改。这是将文本区域的值复制到div中,因此当我使用onkeydown事件时,div内容会延迟一个按键的时间更新。我希望在按键后立即更新。
对于非冒泡事件,分派的顺序如下:
1. 捕获阶段:所有祖先元素上的“捕获”事件处理程序都会被触发。
2. 事件被触发在目标元素上,这意味着所有为特定事件注册在该元素上的事件处理程序都会被执行(顺序未定义!)。
3. 执行默认操作(如果在任何处理程序中没有被取消)。
对于冒泡事件,顺序如下:
1. 捕获阶段:所有祖先元素上的“捕获”事件处理程序都会被触发。
2. 事件被触发在目标元素上。
3. 冒泡阶段:事件被触发在从目标元素向上的所有祖先元素上。
4. 执行默认操作(如果在任何处理程序中没有被取消)。
这里,默认操作基本上是用户期望在产生事件时浏览器进行的活动,例如按键时在文本区域中出现字符。
有没有人知道如何附加回调函数,以在执行默认操作后调用它?因此,我想在字符出现在文本区域时捕获事件。
onchange不是解决方案,因为它在失去焦点时触发。onkeyup也不是解决方案。
有什么想法吗?
[更新] 我正在尝试在更改发生后立即捕获文本区域值更改。这是将文本区域的值复制到div中,因此当我使用onkeydown事件时,div内容会延迟一个按键的时间更新。我希望在按键后立即更新。