通过dom.setAttribute("contenteditable",true)这种方式设置的contenteditable属性的div不能绑定input事件
时间: 2024-05-16 09:12:49 浏览: 99
解决给dom元素绑定click等事件无效问题的方法
是的,通过`setAttribute`设置的`contenteditable`属性的`div`不能绑定`input`事件。因为`input`事件是针对表单元素的,而`div`并不是表单元素。如果想要监听`contenteditable`属性的改变,可以使用`DOMSubtreeModified`事件或`MutationObserver`来监听。例如:
```javascript
const div = document.getElementById('editableDiv');
div.addEventListener('DOMSubtreeModified', function() {
console.log('Content changed!');
});
// 或者使用 MutationObserver
const observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
console.log(mutation.type);
});
});
const config = { attributes: true, childList: true, characterData: true };
observer.observe(div, config);
```
阅读全文