javascript浏览器几个兼容问题

1.      window.event 

现象:

document.body.οnclick=function(ev){if(ev)console.log(1); else console.log(2); }

IE8以下不支持这种写法。

document.body.οnclick=function(){if(window.event)console.log(1); else console.log(2); }

FF 不支持这种写法。

IE9、chrome 同时支持两种window.event和ev两种写法。

 

解决方案:

 

document.body.οnclick=function(ev){

ev=ev?ev:window.event;

if(ev) console.log(1); elseconsole.log(2);

}

2.     innerText和textContent

现象:

InnerText和textContext

IE9,chrome支持两者

IE8支持innerText

FF 支持textContent

 

解决方案:

 

 text=e.textContent|e.innerText

 

3.     innerHTML

现象:

     在IE中使用如下语句:table.innerHTML = content; 动态修改table的HTML内容时,出现“未知运行错误”。错误原因:     在IE浏览器中,table的innerHTML属性是只读的,不能更改。类似的还有THEAD、TFOOT和TR(唯一例外的是td)。(FireFox下是可以正常使用的)

解决方案:

     1. 使用table的对象模型或者DOM方法动态修改table,如:insertRow、insertCell、createTfoot、createThead或apendChild等

    2. 定位到table的td,让后用td的innerHTML动态操作。

4.     li 与span

现象:

<ul><spanid="test"><li >fdfd</li></span></ul>

  IE9下document.getElementById('test').innerHTML 输出:<li>fdfd

 Chrome和FF表现正常。

解决方案:

可以将span修改成div.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值