【问题标题】:Why does contentEditable element reject the Enter key?为什么 contentEditable 元素拒绝 Enter 键?
【发布时间】:2009-01-11 12:16:11
【问题描述】:

我正在使用嵌入 IE 控件来显示内容的应用程序。我将该内容更改为包含<div contentEditable="True">Hello World</div> 元素。这很好用,我可以编辑这个 div 的内容,但是按 Enter 会发出哔哔声。

当我向该页面添加一个 textarea 元素时,Enter 键起作用,我可以添加行,但不能在 contentEditable 元素中。

当我将事件附加到该元素时,我看到按下 Enter 键会触发 keyDown 事件,但不会触发 keyPress。

有人知道是什么原因造成的吗?

谢谢,
分裂者

【问题讨论】:

  • 文档在普通浏览器中是否正常工作(如预期)?
  • 是的 - 在普通浏览器中它可以正常工作。
  • 我的解决方案对我有用,你给出提示以解决我的问题

标签: html keypress contenteditable keydown


【解决方案1】:

大多数 HTML 元素会忽略空格。在任何 DIV 或类似元素中包含 \r 或 \n 将被忽略。

【讨论】:

  • 但是在单独的浏览器窗口中完成时,没有问题。浏览器将 按下转换为
    s.
【解决方案2】:

我已经在 IE 和 Firefox 中检查过它运行良好

【讨论】:

    【解决方案3】:

    您将 keydown 事件附加到文档的其他地方。

    document.addEventListener('keydown', handle, false);
    

    删除它或将 keydown 事件添加到可编辑到 stopPropagation。

    $('#target').keydown(function(e) {
     e.stopPropagation();
    });
    

    【讨论】:

      猜你喜欢
      • 2011-01-04
      • 2013-11-25
      • 1970-01-01
      • 1970-01-01
      • 2011-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-22
      相关资源
      最近更新 更多