Div contenteditable并在FF上按“enter”

时间:2010-09-21 20:06:46

标签: javascript jquery html contenteditable

我有一个满足的div,应该触发< br />在“输入”上插入。 在IE中一切正常,但Firefox让我发疯。

this.e.keydown(function(event) {
  if(event.keyCode == 13) {
    var execute = editor.insertHTML(\'<br />\')';
    eval(execute);
    return false;
  } 
});

Firefox忽略&lt; br /&gt;在div的末尾,我猜起初也是如此。意思是,如果我在句子的中间按“输入”,它就可以正常工作。在一个句子的末尾(最后一个句子)尝试相同的操作就失败了。

有什么想法吗?我们在 stackoverflow编辑器预览中遇到了同样的问题: - )

最后按“输入”&gt;失败...按“先输入”一个字母&gt;换行

3 个答案:

答案 0 :(得分:1)

添加此功能

this.e.keydown(function(event) {
    if (event.keyCode == 13 || event.charCode == 13) {
        var execute = editor.insertHTML(\'<br />\')';
        eval(execute);
        return false;
    } 
});

FF读取charCode而不是keyCode。

答案 1 :(得分:0)

您可以尝试插入<br /><span></span>。这会将光标移动到下一行但是没有正确调整容器的大小,因此它并不完美。

答案 2 :(得分:0)

contentEditable - Firefox <br /> tag点击这里,它可能会有一个想法:)