2013-11-21 94 views
1

我有一个textarea,它的maxlength设置为200,它工作。但是如果用户在输入字符的时候,点击进入并输入199个字符的点击输入两次,然后输入198个字符,textarea显示最多200个字符应该输入的消息。在IEtextarea maxlength does not work on enter key press

此问题仍然存在,但不是在铬

回答

2

你所看到的问题是在Chrome和IE如何对待进入关键的区别。

  • 铬对待输入密钥作为\r\n(两个字符)
  • IE对待进入键,只是\n(一个字符)

这是通过本jsFiddle示出。


结果:

  • 1\r\n 
    2\r\n 
    3\r\n 
    4\r\n 
    5\r\n 
    6\r\n 
    78 
    

注:不能按7后进入,因为它会算作2个字符,超过最大20,因为7代表第19个字符。

  • IE

    1\n 
    2\n 
    3\n 
    4\n 
    5\n 
    6\n 
    7\n 
    8\n 
    9\n 
    10 
    

有趣的是,jQuery的治疗回车键为单个字符太(\n),因此,如果您使用jQuery来算给你,那么你将结束与IE有相同的“问题”。