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

时间:2015-02-03 03:22:19

标签: javascript html5 contenteditable

在一个令人满意的h1标签中,我试图在文本突出显示时触发事件,然后按下输入而不删除正在删除的文本并插入新行。

我尝试使用以下javascript实现此目的:

document.bind('keyup', function(ev) {
  if(ev.keyCode == 13) {
    //do something instead of erasing text
    ev.preventDefault();
  }
}

但是当我按下回车键时,突出显示的文字似乎仍然有焦点,删除并插入一个新行。

当文本突出显示时,无论如何都要阻止这种情况吗?

1 个答案:

答案 0 :(得分:1)

keyup事件为时已晚。使用keydown事件代替它。此外,document.bind不是正确的语法,会抛出错误。您需要addEventListener()代替:

document.addEventListener('keydown', function(ev) {
  if(ev.keyCode == 13) {
    //do something instead of erasing text
    ev.preventDefault();
  }
}, false);