1、JavaScript提示“未結束的字元串常量”錯誤解決方法 1.1 JavaScript引用時,使用的字元語言不一致. 比如:<script type=”text/javascript” src=”xxx.js” charset=”UTF-8″>.xxx.js文件內部使用的是GB2312的格式, ...
1、JavaScript提示“未結束的字元串常量”錯誤解決方法
1.1 JavaScript引用時,使用的字元語言不一致.
比如:<script type=”text/javascript” src=”xxx.js”
charset=”UTF-8″>.xxx.js文件內部使用的是GB2312的格式,外面調用使用的是UTF-8,所以文件內部部分特殊字元因為格式不一致,出現亂碼,造成此原因.
1.2 JavaScript輸出HTML字元時,前後標記不匹配.
這種比較常見,往往在輸出字元串時,出現單引號(')或雙引號(”)不配對,或者是在document.write()的時候,沒有正確輸出單引號(')或雙引號(")
1.3 參數內出現HTML標記語言或包含換行符
如:一般測試時只使用單行的數據,是正常的,未出現這個錯誤,
當測試時使用多行數據,並使用回車鏈換行,就出行了此錯誤.因為裡面包含了換行符
對於第1.3種情況,解決方法是:不直接將該數據以參數形式傳遞,而是先將其賦值在一個隱藏的文本內,需要調用的函數里只需讀取該文本里的內容即可。
2、jQuery.form插件庫中的Ajaxsubmit插件在文件上傳時的問題(IE10)
$(‘#id’).ajaxsubmit({ …, iframe:true, //不考慮ie的版本,都使用iframe來進行文件的上傳 … });
經實驗:在IE8和IE9中,,預設通過iframe進行文件上傳,而在IE10中,如果沒有設置參數iframe為true時,預設是通過fileapi進行文件上傳的。
註:該問題的出現是在筆者的項目中應用時出現的(受其它項目組用戶控制項的影響),經實驗,在一個新建的空白頁面中使用時不會出現在IE10中通過預設的fileapi進行文件上傳會失敗的問題。
3、jquery 中的 $("#id") 與 document.getElementById("id") 的區別
var canvas_air=$('#air'); alert(canvas_air); alert(document.getElementById('air'));
兩個alert()分別顯示為:[object Object]和[object HTMLCanvasElement]
實際上,$('#air')[0]等同於 document.getElementById('air')
4、一次元素的單擊事件被觸發進而多次執行事件處理函數,該問題產生原因是元素被多次綁定單擊事件
問題詳細說明:
$('#id').event(function(){}); //該語句被執行n次後,則id='id'的元素的event事件就被註冊了n次,因此,觸發該元素event事件時,會導致執行n次的事件處理函數
該問題解決辦法多種多樣,筆者目前使用的方法是:
$('#id').off('event').event(function(){}); //先移除元素的事件event,再重新註冊event事件
後續更新中,敬請期待...