【问题标题】:Div contenteditable and pressing "enter" on FFDiv contenteditable 并在 FF 上按“enter”
【发布时间】:2011-04-15 09:50:37
【问题描述】:

我有一个带有 contenteditable 的 div,它应该在“enter”上触发 插入。 在 IE 中一切正常,但 Firefox 让我抓狂。

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

Firefox 在 div 的末尾忽略了 ,我猜也在开头。意思是,如果我在句子中间按“enter”,它就会正常工作。在句末(最后一句)尝试相同的内容会失败。

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

最后按“enter” > 失败...早先按“enter”一个字母 > 换行

【问题讨论】:

标签: javascript jquery html contenteditable


【解决方案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。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      contentEditable - Firefox <br /> tag 在这里查看,它可能会给你一个想法:)

      【讨论】:

        猜你喜欢
        • 2011-03-06
        • 2013-09-04
        • 1970-01-01
        • 2014-07-21
        • 2013-11-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多