【问题标题】:type in empty divs while contenteditable = true?在 contenteditable = true 时输入空 div?
【发布时间】:2014-03-28 12:21:18
【问题描述】:

为什么启用 contenteditable 时光标不会进入我的某些 div?

另外,为什么我的浏览器告诉我 div 中没有任何内容,而其中明显有空格字符?!

var div = '<div> </div>'; 
div.innerHTML = undefined 

什么给了?

【问题讨论】:

    标签: javascript dom whitespace contenteditable


    【解决方案1】:

    contenteditable 不适用于空元素,因此您可能需要在希望能够编辑的空元素中插入不间断空格字符

    非破坏空间"&amp;nbsp;" 将作为一个角色单独离开时,
    而空格 " " 只有放在另一个字符之后才会算作一个字符

        &lt;div&gt;" "&lt;/div&gt; ----------------> innerHTML = undefined
    &lt;div&gt;"&amp;nbsp;"&lt;/div&gt; --------> innerHTML =

    &amp;nbsp; 周围的灰色框表示它是一个 html 字符
    所以请确保插入"&amp;nbsp" 而不是" "

    var nbsp = "&nbsp;",
        div = document.getElementById('id');
    div.innerHTML = nbsp
    

    jquery 也可以

    var div = $('div#id')
    div.html(nbsp1)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-03
      • 2014-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多