繁体   English   中英

防止在contenteditable元素中突出显示文本时将其删除

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM