Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTML5内容可编辑新行跳转两次_Javascript_Jquery_Contenteditable - Fatal编程技术网

Javascript HTML5内容可编辑新行跳转两次

Javascript HTML5内容可编辑新行跳转两次,javascript,jquery,contenteditable,Javascript,Jquery,Contenteditable,在下面的示例中,关于新线有一些奇怪的行为。 例如,在Chrome中,当按两次enter键时,行光标向下跳3行,而不是2行。在Firefox中,它总是这样跳 jQuery(#message”).on(“keydown”,函数(事件){ 如果(event.keyCode===13){ document.execCommand('insertHTML',false',\n\n'); 返回false; } }); jQuery(#message”).on(“keyup”,函数(){ jQuery(“#

在下面的示例中,关于新线有一些奇怪的行为。 例如,在Chrome中,当按两次enter键时,行光标向下跳3行,而不是2行。在Firefox中,它总是这样跳

jQuery(#message”).on(“keydown”,函数(事件){
如果(event.keyCode===13){
document.execCommand('insertHTML',false',\n\n');
返回false;
}
});
jQuery(#message”).on(“keyup”,函数(){
jQuery(“#output”).html(jQuery(this.html());
});
#消息,
#结果{
宽度:100%;
高度:100px;
边框:1px纯黑;
空白:预处理;
}

它可能会跳3行,因为回车键会插入一行新行,然后再插入2行新行

尝试这样做:

jQuery("#message").on("keydown", function (event) {
    if (event.keyCode === 13) {
        event.preventDefault();
        document.execCommand('insertHTML', false, '\n\n');
        return false;
    }
});

预期的行为是什么?只是进入下一行,中间没有空行。我写了,我给你写了一条评论。你想要
\n
这样你就可以在数据库中保存换行符了吗?如果是这样,我会在它进入数据库之前在服务器上处理它,而不是在前端。不,我正在向这个div中添加额外的元素,为了保持代码尽可能干净,我不希望处理其中的任何其他元素。很多逻辑已经存在,所以我不能只是改变行为,我必须以某种方式修复它…:)这很奇怪。对我来说,有时它只跳一行,大多数时候它跳两行。但从来没有跳过三次。(在chrome中)//编辑:nvm,现在我明白你所说的3行的意思了。(1+2 lol)