0

我有一个段落<p>contenteditable="true"它适用于我创建的每个选项,例如 BOLD、ITALIC、BGCOLOR ......


我在我的 contenteditable 段落中输入空格,当我通过以下代码将该 contenteditable 段落的内容与字符串进行比较时,它返回 false !

console.log($('p[contenteditable="true"]').text()==" ");
// return false
console.log($('p[contenteditable="true"]').text());
// return " " char Code of this space is 160

太奇怪了!为什么会这样?我已经尝试了上面的代码.textContent并且发生了相同的结果

4

1 回答 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 字符代码

于 2013-09-30T11:57:44.410 回答