我有一些 javascript 可以根据用户选择的内容来操作 html。对于真正的浏览器,我使用的方法利用了“Range”对象,如下所示:
var sel = window.getSelection();
var range = sel.getRangeAt(0);
var content = range.toString();
content 变量包含所有选定的文本,效果很好。但是我发现我无法检测到结果字符串中的换行符。例如:
选定的文字是:
美国广播公司
定义
吉
range.toString() 计算结果为“abcdefghi”。
对特殊字符的任何搜索都不会返回 \n \f \r 甚至 \s 的实例。但是,如果我将变量写入可编辑控件,则会再次出现换行符。
有谁知道我错过了什么?
这些选择和操作在可编辑的 div 上可能是相关的。同样的行为在 Chrome、FireFox 和 Opera 中也很明显。令人惊讶的是,IE 无论如何都需要完全不同的代码,但那里没有任何问题,除了它只是 IE。
非常感谢。