IE TextRange.HtmlText返回意外的换行符

时间:2013-03-18 20:56:53

标签: javascript asp.net textselection selectedtext

在一个空的Asp.Net项目中,我有以下代码:

我在IE 8中使用TextRange.HtmlText来检索用户在DIV元素中的文本选择。但是,由于某些原因,所选的html包含\ r \ n,即使原始文本中没有换行符。有谁知道为什么会这样?

如果我改为使用text属性,则不会出现相同的行为。

<script type="text/javascript">
    function OkClick() {
        var TextRange = document.selection.createRange();
        var SelectedText = TextRange.htmlText;
    }
</script>

<div>
This is a test with a long line of text on a single line with no line breaks.Why is there a line break returned from htmlText on the TextRange object
</div>

<button onclick="OkClick()">OK</button>

以下内容分配给我的SelectedText变量:正如您所看到的,在“为什么”这个词之后有一个换行符

This is a test with a long line of text on a single line with no line breaks.Why \r\nis there a line break returned from htmlText on the TextRange object 

1 个答案:

答案 0 :(得分:0)

我不知道为什么会这样做,但你可以用C#修复它:

myString = myString.Replace("\r\n", string.Empty);

或者喜欢这个javascript:

myString = myString.replace("\r\n", "");