0

我们的 Web 应用程序共享代码。为了共享正确的代码,我们使用了 htmlEncode 和 htmlDecode 如下,以便所有 htmlTag 在通过 http 协议传递时得到正确处理,如下所示

     htmlEncode = function (value) {
     if (value) {
         return $('<div />').text(value).html();
     }
     else {
         return '';
     }
 },
htmlDecode = function (value) {
    if (value) {
        return $('<div />').html(value).text();
    }
    else {
        return '';
    }
},

现在,如果用户在代码中提供了更多空格,它就会被转换为单个空格(这当然不是大问题)。

但是这种实现的问题是,如果用户在代码共享部分中单击了 EnterKey两次或三次,则不会按原样执行,但输出如下所示:

用户输入在此处输入图像描述

实际输出 在此处输入图像描述

预期产出 在此处输入图像描述

有什么解决办法吗?

4

1 回答 1

0

这是意料之中的,因为这正是执行 .text() 对您的价值应该产生的影响。我认为你不应该在这种情况下使用 .text

于 2013-02-27T10:20:22.140 回答