【问题标题】:Prevent text from being erased when it is highlighted in contenteditable element防止文本在 contenteditable 元素中突出显示时被擦除
【发布时间】:2015-02-03 03:22:19
【问题描述】:

在 contenteditable h1 标记中,我试图在突出显示文本时触发一个事件,并且您按下回车键而不删除文本并插入新行。

我正在尝试使用以下 javascript 来实现这一点:

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

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

当文本被突出显示时,有没有办法防止这种情况发生?

【问题讨论】:

    标签: javascript html contenteditable


    【解决方案1】:

    keyup 事件为时已晚。改为使用keydown 事件。此外,document.bind 的语法不正确,会引发错误。你需要addEventListener()

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-20
      • 2019-02-20
      • 2021-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多