h.setAttribute('name', 'midNames'); javascript
如下爲網絡收集整理以下: css
一、Firefox沒法響應DIV的onClick事件 java
緣由:Firefox下不支持如下語法: Javascript代碼 <DIV onClick="javascript:onPre();"> <DIV onClick="javascript:onPre();"> 解決:所有按如下形式書寫: Javascript代碼 <DIV onClick=onPre()> <DIV onClick=onPre()> 二、沒法動態建立頁面元素,即createElement無效 緣由:在Fireox下不僅能使用標籤名作參數,不能使用<>形式,如如下語句在Firefox下不起做用,但在IE下能正常工做: Javascript代碼 var obj=document.createElement('<DIV id=h_sb></DIV>'); var obj=document.createElement('<DIV id=h_sb></DIV>'); 解決:所有按如下形式書寫: Javascript代碼 var obj=document.createElement('DIV'); obj.id='h_sb'; var obj=document.createElement('DIV'); obj.id='h_sb'; 三、在爲動態建立的元素指定事件處理函數時,在Firefox下是運行指定函數,而非設置 緣由:Firefox下,指定時間處理函數時不能帶參數,不然Firefox只會執行函數,如: Javascript代碼 obj.onClick=test(1); obj.onClick=test(1); 在Firefox下會運行test函數,而不是將test函數關聯到obj的click事件 解決:若是指定函數無參數則使用: Javascript代碼 obj.onClick=test; obj.onClick=test; 若是指定函數有參數則: Javascript代碼 obj.onClick=function(){test(1)}; obj.onClick=function(){test(1)}; 四、將動態元素添加到頁面時,insertBefore出錯 緣由:在Firefox下不可省略insertBefore函數的第二參數 解決:使用以下語句: Javascript代碼 document.body.insertBefore(obj,null); document.body.insertBefore(obj,null); 五、Firefox下無event對象,沒法直接獲取鼠標座標 解決:在指定事件處理函數時使用以下語句: Javascript代碼 obj.onClick=function(ev){onMidClick(ev,sb_h)}; obj.onClick=function(ev){onMidClick(ev,sb_h)}; 說明:以上ev參數類時ie的event對象,由系統自動填入,第二參數爲用戶自定義參數 在處理函數onMidClick中: Javascript代碼 function onMidClick(evt,objSb){ var mx; //獲取鼠標的X座標 if ( window.event ){ mx=event.clientX; }else{ mx=evt.pageX; } } function onMidClick(evt,objSb){ var mx; //獲取鼠標的X座標 if ( window.event ) { mx=event.clientX; }else{ mx=evt.pageX; } } 六、表格操做函數無效,即如下語句沒法工做: Javascript代碼 var newrow=objnt.insertRow(); var cal=newrow.insertCell(); var newrow=objnt.insertRow(); var cal=newrow.insertCell(); 緣由:與第四同樣不可缺省參數 解決:使用以下語句: Javascript代碼 var newrow=objnt.insertRow(-1); var cal=newrow.insertCell(-1); var newrow=objnt.insertRow(-1); var cal=newrow.insertCell(-1); 七、Firefox下沒法直接獲取styleSheet的cssText,在IE下,可直接獲取並設置styleSheet的cssText, 但在Firefox下只能使用document.styleSheets[0].cssRules[0].cssText單個獲取樣式,同時使用使用: Javascript代碼 document.styleSheets[0].cssRules[0].cssText=newcssText; document.styleSheets[0].cssRules[0].cssText=newcssText; 頁面不會自動更新樣式,必須使用: Javascript代碼 document.styleSheets[0].cssRules[0].style.cssText=newcssText; document.styleSheets[0].cssRules[0].style.cssText=newcssText; 八、Firefox下使用數組不能使用圓括號(),只能使用中括號[]