【发布时间】:2014-03-28 12:21:18
【问题描述】:
为什么启用 contenteditable 时光标不会进入我的某些 div?
另外,为什么我的浏览器告诉我 div 中没有任何内容,而其中明显有空格字符?!
var div = '<div> </div>';
div.innerHTML = undefined
什么给了?
【问题讨论】:
标签: javascript dom whitespace contenteditable
为什么启用 contenteditable 时光标不会进入我的某些 div?
另外,为什么我的浏览器告诉我 div 中没有任何内容,而其中明显有空格字符?!
var div = '<div> </div>';
div.innerHTML = undefined
什么给了?
【问题讨论】:
标签: javascript dom whitespace contenteditable
contenteditable 不适用于空元素,因此您可能需要在希望能够编辑的空元素中插入不间断空格字符
非破坏空间"&nbsp;" 将作为一个角色单独离开时,
而空格 " " 只有放在另一个字符之后才会算作一个字符
<div>" "</div> ----------------> innerHTML = undefined<div>"&nbsp;"</div> --------> innerHTML =
&nbsp; 周围的灰色框表示它是一个 html 字符
所以请确保插入"&nbsp" 而不是" "
var nbsp = " ",
div = document.getElementById('id');
div.innerHTML = nbsp
jquery 也可以
var div = $('div#id')
div.html(nbsp1)
【讨论】: