我有一些JavaScript基于用户选择的操作html。对于真正的浏览器,我使用杠杆的“范围”的对象,方法得到这样的:检测JavaScript中的换行符的问题范围对象
var sel = window.getSelection();
var range = sel.getRangeAt(0);
var content = range.toString();
内容变量包含所有选定的文本,它工作正常。但是我发现我无法检测到结果字符串中的换行符。例如:
选定的文本:
ABC
高清
GHI
range.toString()的计算结果为 “ABCDEFGHI”。
对特殊字符的任何搜索都不会返回\ n \ f \ r或甚至\ s的实例。但是,如果我将变量写入可编辑控件,则换行符会再次出现。
有谁知道我错过了什么?
这些选择和操作在可编辑的div上可能是相关的。 Chrome,FireFox和Opera中也有相同的行为。令人惊讶的是IE浏览器需要完全不同的代码,但这里没有任何问题,除了它只是IE浏览器。
非常感谢。
'range.toString()评价为“abcdefghi”'是什么意思?你用什么来检验这个价值?调试器?警报()? – 2009-07-18 04:39:25
你正在将`range`值写入可编辑控件或`range.toString()`吗? – RaYell 2009-07-18 04:48:36