問題來源:在表單的<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
