Tim*_*mbo 15 javascript newline range contenteditable
我有一些javascript根据用户选择的内容操纵html.对于真正的浏览器,我正在使用的方法利用"Range"对象,如下所示:
var sel = window.getSelection();
var range = sel.getRangeAt(0);
var content = range.toString();
Run Code Online (Sandbox Code Playgroud)
内容变量包含所有选定的文本,工作正常.但是我发现我无法在结果字符串中检测到换行符.例如:
选定的文字是:
ABC
高清
GHI
range.toString()计算为"abcdefghi".
对特殊字符的任何搜索都不会返回\n\f\r或甚至\ s的实例.但是,如果我将变量写入可编辑控件,则会再次显示换行符.
有谁知道我错过了什么?
这些选择和操作可能与可编辑的div相关.在Chrome,FireFox和Opera中也可以看到相同的行为.令人惊讶的是IE无论如何都需要完全不同的代码,但除了它只是IE之外,没有任何问题.
非常感谢.
Nar*_*man 14
编辑我的帖子:
尝试一下,我发现sel.toString()在可信任的div 中返回新行,而range.toString()在正常的不可编辑的div中正确地返回换行符,但不是在可编辑的div中,正如您所报告的那样.
但是找不到行为的任何解释.
这是一个有用的链接http://www.quirksmode.org/dom/range_intro.html
| 归档时间: |
|
| 查看次数: |
3478 次 |
| 最近记录: |