相关疑难解决方法(0)

阻止在ENTER上添加<div> - Chrome

我有一个contenteditable元素,每当我输入一些东西并点击ENTER它创建一个新的<div>并将新的行文本放在那里.我不喜欢这一点.

是否有可能防止这种情况发生或至少只是用一个<br>

这是演示http://jsfiddle.net/jDvau/

注意:这不是firefox中的问题.

html javascript jquery google-chrome contenteditable

112
推荐指数
11
解决办法
8万
查看次数

处理contentEditable DIV上的换行符

contenteditable在SAFARI/CHROME上有换行问题.当我在contentEditable上按"return" <div>,而不是创建一个<br>(像Firefox),他们创建一个新的<div>:

<div>Something</div>
<div>Something</div>
Run Code Online (Sandbox Code Playgroud)

看起来像(在contentEditable DIV上):

Something
Something
Run Code Online (Sandbox Code Playgroud)

但是在清理(删除<div>)之后,我得到了这个:

SomethingSomething
Run Code Online (Sandbox Code Playgroud)

在Firefox中,contenteditable是:

Something
<br>
Something
Run Code Online (Sandbox Code Playgroud)

卫生处理后看起来一样:

Something
Something
Run Code Online (Sandbox Code Playgroud)

是否有任何解决方案可以跨浏览器"规范化"这个?

我已经在Make a <br>而不是<div> </ div>上找到了这个代码,只需在一个contenteditable上按Enter键

$(function(){

  $("#editable")

  // make sure br is always the lastChild of contenteditable
  .live("keyup mouseup", function(){
    if (!this.lastChild || this.lastChild.nodeName.toLowerCase() != "br") {
      this.appendChild(document.createChild("br"));
     }
  })

  // use br instead of div div
  .live("keypress", function(e){
    if (e.which == 13) {
      if (window.getSelection) {
        var …
Run Code Online (Sandbox Code Playgroud)

jquery sanitization contenteditable

56
推荐指数
3
解决办法
5万
查看次数