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下使用数组不能使用圆括号(),只能使用中括号[]