var tempNode = document.getElementById('view_1');
tempCNode.addEventListener('compositionend', function(e) {
console.log(e.cancelable); // true
e.preventDefault();
});
<div id="view_1" class="view" contenteditable="true">
<p>
<br>
</p>
</div>
我想获取输入法的值,不让它直接显示在
div
中。
我该怎么办?
谢谢
我最近遇到了这个问题。这是我的理解:
在 JavaScript 的 'compositionend' 事件中使用 'e.preventDefault() ' 在技术上是可行的,但可能不会达到您期望的效果。根据Stack Overflow讨论,在compositionend事件中调用preventDefault没有任何效果。这可能是因为合成结束事件表示合成会话的结束,并且此时阻止默认操作可能没有意义,因为输入合成已经完成。 如果您尝试控制或修改文本输入的行为,则可能需要使用其他事件,例如“input”、“keydown”或“compositionstart”。但是,具体方法取决于您想要实现的目标。