Nea*_*eal 12 javascript dom carriage-return
这是此问题的一个分支:Chrome使用maxlength属性计算textarea中的字符错误
在那个问题中,发现Javascript计数回车是一个字符,实际上它是两个(\r\n
),为什么呢?
Poi*_*nty 22
由于未知原因,jQuery总是将a值中的所有换行转换<textarea>
为单个字符.也就是说,如果浏览器为\r\n
换行提供它,jQuery会确保它只是\n
在返回值中.val()
.(实际上原因可能不是"未知";它可能会使浏览器的结果标准化,因为IE将换行符报告为2个字符长.)
<textarea>
对于"maxlength",Chrome和Firefox都以相同的方式计算标签的长度.
但是,HTTP规范坚持将换行符表示为\r\n
.因此,jQuery,webkit和Firefox都错了.发布该字段时,webkit和Firefox正确添加换行符!
结果是,<textarea>
如果您的服务器端代码确实具有固定的字段值最大大小,则标签上的"maxlength" 几乎没用.
编辑这仍是2015年的一个问题 - 至少在Chrome 45.0.2454和IE 11.0.9600上.
归档时间: |
|
查看次数: |
7026 次 |
最近记录: |