【问题标题】:Disable Shift-Enter in contenteditable在 contenteditable 中禁用 Shift-Enter
【发布时间】:2020-01-25 01:44:33
【问题描述】:

我正在创建一个准系统的浏览器内代码编辑器,其中pre 标记为contenteditable。我正在收听input 事件以执行代码突出显示和其他一些副作用。

当用户点击 Shift+Enter 时会插入两个换行符,这会混淆我的程序并弄乱光标定位。有没有办法禁用它?

【问题讨论】:

  • 能否包含pre的HTML?
  • @Shiny 只是<pre contenteditable id='editor'></pre>
  • 我自己无法重新创建这个问题 - Shift Enter 只是一个换行符
  • @Shiny 这很奇怪,但这就是它在 DOM 中的显示方式。但是,尝试获取 textarea 的 innerText,您会看到两个尾随换行符

标签: javascript html css contenteditable


【解决方案1】:

在我看来,需要能够检测到SHIFTENTER 键被按下。但是,INPUT 事件似乎不包含该数据。如果您可以使用包含有关用于单个事件的所有键的数据的事件侦听器,那么您可以在回调中使用event.preventDefault() 之类的东西。我不知道你所有代码的上下文是什么,所以我不知道使用其他事件是否可行,特别是keypress

我也无法重现您描述的问题。您可能正在使用导致双间距问题的插件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-08
    • 2017-12-04
    • 2020-02-26
    • 2015-05-24
    • 1970-01-01
    相关资源
    最近更新 更多