我有一个段<p>
和contenteditable="true"
,它可以正常使用我创建的每个选项,例如BOLD,ITALIC,BGCOLOR,......
我在我满意的段落中键入空格,当我通过以下代码将该可疑段落的内容与字符串进行比较时,它返回false!
console.log($('p[contenteditable="true"]').text()==" ");
// return false
console.log($('p[contenteditable="true"]').text());
// return " " char Code of this space is 160
太奇怪了!为什么会这样?
并且我已尝试使用.textContent
上面的代码并且发生了相同的结果
答案 0 :(得分:0)
尝试
$('p[contenteditable="true"]').val() == " "
答案 1 :(得分:0)
我已经测试了你发布的内容并且它正在运行。见jsfiddle
HTML:
<p contenteditable="true"> </p>
使用Javascript:
console.log(jQuery('p[contenteditable="true"]').text());
console.log(jQuery('p[contenteditable="true"]').text() == ' ');
console.log(jQuery('p[contenteditable="true"]').text().charCodeAt(0));
返回:
" "
true
32
请检查您实际上是在输入空格(字符代码32)而不是其他字符。
解决方案:
if(jQuery('p[contenteditable="true"]').text().charCodeAt(0) == 160){
console.log('Space!');
}
请参阅:HTML Char Code