问题来源:在表单的<input>标签中对输入的字符串进行大写转换。一不小心输入了反斜杠
如下图所示:
输入 chn 的时候,在 IE8 下弹出一个js错误。(在实际的项目的表单元素中遇到了,单独这样拿出来测试的时候又不弹出错误。也很是焦灼)
索性就写了个办法暂时解决了这个问题。也符合实际的需求。
测试代码如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <script type="text/javascript" src="jquery/jquery-1.7.2.js"></script> <script type="text/javascript" src="jquery/jquery-1.7.2.min.js"></script> <script type="text/javascript"> $(function() { $("#trans").keyup(function() { if (this.value.indexOf("\") >= 0) { this.value = ""; } this.value = this.value.toUpperCase(); }); }); </script> <body> <h1>测试反斜杠 </h1> 测试转换大写: <input id="trans" /> </body> </html>
在网上查找相关资料的时候,看到不少人遇到 反斜杠 (转义字符) 的问题,诸如以下参考链接。
在单独拎出来做这个测试的时候,发现JQuery的高版本(3.2.1) 居然无效,然后是换成Jquery的1.7.2版本,亲测有效。
然后又了解到
目前jQuery有三个大版本:
1.x:兼容 ie 6 7 8,使用最为广泛的,官方只做BUG维护,功能不再新增。因此一般项目来说,使用1.x版本就可以了,最终版本:1.12.4 (2016年5月20日)
2.x:不兼容 ie 6 7 8,很少有人使用,官方只做BUG维护,功能不再新增。如果不考虑兼容低版本的浏览器可以使用2.x,最终版本:2.2.4 (2016年5月20日)
3.x:不兼容 ie 6 7 8,只支持最新的浏览器。除非特殊要求,一般不会使用3.x版本的,很多老的jQuery插件不支持这个版本。目前该版本是官方主要更新维护的版本。
1.X大版本下,细分版本非常多,各个版本的函数都会有一定的差异。网上看到的很多教程大多是1.x版本的。
---------
今天遇到的小问题,也引申了很多其它问题。
为此记录。
2017/10/26
参考资料:
1.http://blog.csdn.net/shi_yi_fei/article/details/51202209
2.http://blog.csdn.net/xufeng0991/article/details/46755825
3.http://www.jb51.net/article/60372.htm
4.Jquery版本参考:http://www.jb51.net/article/110228.htm