防止contentEditable DIV上的换行符

Fr0*_*z3n 2 jquery line-breaks contenteditable

我有一个contentEditableDIV,我需要阻止在Enter键上插入换行符,并且只能通过按Shift + Enter来允许它

我试过了:

$(".element").on('keydown', function(e) {
    if (e.keyCode == 13 && !e.shiftKey){
        e.preventDefault();
    }
});
Run Code Online (Sandbox Code Playgroud)

但是不起作用.它仅适用于Textarea ..

有办法吗?

编辑:我已经在jsFiddle上尝试了它,它正在工作,但在我正在处理的页面上没有.

它是一个DOM生成的contentEditable DIV:

<div class="wysibb-body" contentEditable="true"></div>
Run Code Online (Sandbox Code Playgroud)

退出alert()我得到它,但在关闭它之后,插入换行符.

$(".wysibb-body").on('keydown', function(e) {
    if (e.keyCode == 13 && !e.shiftKey){
        //alert('Enter pressed');
        e.preventDefault();
    }
});
Run Code Online (Sandbox Code Playgroud)

Iho*_*nko 5

我一直在尝试这个代码,它的作品:

$(document).ready(function(e){
     $(".wysibb-body").keydown(function(e) {
         if (e.keyCode == 13 && e.shiftKey){
              alert('Enter + shift pressed');

         } else if(e.keyCode == 13){
              e.preventDefault();
         }
    });
});
Run Code Online (Sandbox Code Playgroud)

经过测试的en chrome,firefox,safari,opera,IE 8和完美的作品