javascript - 如何收听内容的变化?
问题描述
我有一个<span>
包含一些内容的元素。当您键入内容时,内容会发生变化。我怎样才能听到这些事件?
例如 :
<span> Start content </span>
经过一些内容更改
<span> Changed content </span>
有什么方法可以收听关键事件(如 keyup、blur)?
解决方案
您可以收听该DOMSubtreeModified
事件。
然而,这听起来不是一个好主意。你说:
有什么方法可以收听关键事件(如 keyup、blur)?
您应该在更改跨度内容的代码旁边使用调用此代码。否则,您应该使用输入元素来监听您列出的事件。
下面是一个使用DOMSubtreeModified
事件的例子:
const content = document.getElementById('content')
const append = () => content.innerText += ' change'
content.addEventListener('DOMSubtreeModified', () => console.log('change'))
<span id="content">Content</span>
<br>
<button onclick="append()">Change content</button>
以下是使用change
(其作用类似于blur
,但仅在发生更改时触发) 和keypress
事件的示例:
const content = document.getElementById('content')
content.addEventListener('change', () => console.log('change'))
content.addEventListener('keypress', () => console.log('keyPress'))
<input type="text" id="content" value="Content">
推荐阅读
- c++ - 是否可以使用“requires”子句启用/禁用纯虚函数?
- mysql - Laravel 雄辩的和许多多态连接
- php - 通过更改大小写来置换字符串(不影响数字)
- html - 可以对变换样式的属性使用过渡延迟吗?
- javascript - Node JS - 如何在每次重试之间添加延迟
- java - CSV 到 Json 转换时出现 Java 错误。forType 和 readAll 方法
- vba - 使用 VBA 重命名 PDF 文件
- react-native - 下载 VichBundle 文件 Api 平台
- python-3.x - 如何在 spyder 3 中绘图
- for-loop - 从变量加载数组时,&符号没有预料到错误