为什么contentEditable元素拒绝Enter键?

时间:2009-01-11 12:16:11

标签: html keypress contenteditable keydown

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

当我向该页面添加textarea元素时,Enter键有效,我可以添加行,但不能添加到contentEditable元素中。

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

任何人都知道可能会导致什么?

谢谢,
splintor

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

我已经在IE和Firefox中检查过它完美无缺

答案 2 :(得分:0)

您将keydown事件附加到文档的其他位置。

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

将其删除或将keydown事件添加到editable to stopPropagation。

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