[英]Prevent text from being erased when it is highlighted in contenteditable element
在一个内容可编辑的h1
标签中,当文本突出显示并按Enter键时,我试图使事件触发,但不删除文本并插入新行。
我正在尝试使用以下JavaScript实现此目标:
document.bind('keyup', function(ev) {
if(ev.keyCode == 13) {
//do something instead of erasing text
ev.preventDefault();
}
}
但是当我按Enter键时,突出显示的文本似乎仍然具有焦点,擦除并插入新行。
突出显示文本时,有什么方法可以防止这种情况吗?
keyup
事件为时已晚。 而是使用keydown
事件来执行此操作。 另外, document.bind
不是正确的语法,并且会引发错误。 您需要使用addEventListener()
代替:
document.addEventListener('keydown', function(ev) {
if(ev.keyCode == 13) {
//do something instead of erasing text
ev.preventDefault();
}
}, false);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.