h5监听 contenteditable = "true" 创建的输入框输入某个特定字符
时间: 2023-11-26 15:06:44 浏览: 169
输入框字符个数监听
可以使用 `MutationObserver` 监听 `contenteditable` 元素的子节点变化,然后在变化回调函数中判断输入的内容是否包含特定字符。
示例代码:
```javascript
// 获取 contenteditable 元素
const contentEditable = document.querySelector('[contenteditable="true"]');
// 创建 MutationObserver 对象
const observer = new MutationObserver(mutationsList => {
// 遍历变化列表
for (let mutation of mutationsList) {
// 遍历新增节点
for (let node of mutation.addedNodes) {
// 判断新增节点是否为文本节点
if (node.nodeType === Node.TEXT_NODE) {
// 判断文本节点内容是否包含特定字符
if (node.textContent.includes('特定字符')) {
// 输入了特定字符,做相应处理
console.log('输入了特定字符');
}
}
}
}
});
// 配置 MutationObserver
const config = { childList: true, subtree: true };
// 开始监听
observer.observe(contentEditable, config);
```
上述代码会监听 `contentEditable` 元素内部子节点的变化,当新增文本节点并且文本节点的内容包含特定字符时,就会输出一条日志。你可以将 `console.log` 改成你需要的处理逻辑。
阅读全文