2008年8月27日 星期三

[jQuery]Autocomplete在中文應用時的BUG修正

Jquery.AutoComplete.js這個Jquery插件,效果還很不錯,不過它有一些對中文支持的BUG,可能是因為作者沒有考慮到,我這裡做一些修正;

你用它去實現的時候會發現當你打字的時候就在開始提交了,原因是因為它是用的 keydown 事件,而當我們要打中文時會輸入一系列的字母,所以會出現這種 現象。解決辦法,將 Keydown 事件改成 Keyup ,看起來好像是不行哦,不過它的確是可以的。我猜想可能是瀏覽器沒有把輸入法在輸入字母時的 Keyup 提交到 input 框上面。

另外它還有一處,是編碼的問題。
jQuery.AutoComplete.js默認是將提交的數據用 encodeURI 轉換了一下的,也就是轉成 UTF-8後再escape,這樣做會在GB2312編碼的頁面上出錯,提交上去的會變亂碼。
解決方法是:查找 encodeURI 共有兩處,改成 escape 雖然不寫 escape都是可以,但建議還是寫上,以前就遇到過不用它會有亂碼的情況.

源文件下載地址:http://files.cnblogs.com/huacn/jquery.autocomplete.1.1.2.js

【下列文章您可能也有興趣】

沒有留言: