日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

整理 IE和FF在對(duì)js支持的不同及解決方法

1.window.event
IE:有window.event對(duì)象
FF:沒有window.event對(duì)象,可以通過函數(shù)的參數(shù)傳遞event對(duì)象 。如onclick=clickHandler(event)
解決辦法:var event = event || window.event;

2. 鼠標(biāo)當(dāng)前坐標(biāo)
IE:event.x和event.y
FF:event.pageX和event.pageY
解決辦法:采用通用屬性:event.clientX和event.clientY屬性;

3. 鼠標(biāo)坐標(biāo)加上滾動(dòng)條滾過的距離
IE:event.offsetX和event.offsetY
FF:event.layerX和event.layerY
解決辦法:

復(fù)制代碼代碼如下:
script type="text/javascript"
function mouseDownHandler(event) {
var event = event || window.event;
//var event = event ? event : window.event;
var x = event.offsetX || event.layerX;
var y = event.offsetX || event.layerY;
}
/script

3. event.srcElement
IE:event對(duì)象有srcElement屬性,但是沒有target屬性;
FF:event對(duì)象有target屬性,但沒有srcElement屬性
解決辦法:使用obj = event.srcElement ? event.srcElement : event.target;來代替IE下的event.srcElement或者FF下的event.target(注意event的兼容性);

4.event.toElement
IE:event對(duì)象有toElement屬性,但沒有relatedTarget屬性
FF:event對(duì)象沒有有toElement屬性,但有relatedTarget屬性
解決辦法:var target = e.relatedTarget || e.toElement;

5. 標(biāo)簽的x和y的坐標(biāo)位置,style.posLeft 和 style.posTop
IE:有
FF:沒有
解決辦法:用通用屬性obj.offsetLeft 和 obj.offsetTop

6. 窗體的高度和寬度
IE:document.body.offsetWidth 和 document.body.offsetHeight 。注意,此時(shí)頁面一定要有body標(biāo)簽 。
FF:window.innerWidth 和 window.innerHeight,以及 document.documentElement.clientWidth 和 document.documentElement.clientHeight 。
解決辦法:通用屬性 document.body.clientWidth 和 document.body.clientHeight;

7. 添加事件
IE:element.attachEvent(’onclick’,function)
FF:element.addEventListener(’click’,function,true)
解決辦法:element.onclick = function.雖然都可以使用click事件 。但onclick和上面兩種方法效果是不一樣的 。onclick只有執(zhí)行一個(gè)過程,而attachEvent 和 addEventListener執(zhí)行的是一個(gè)過程列表,也就是多個(gè)過程 。
如:element.attachEvent(’onclick’,func1); element.attachEvent(onclick, func2)這樣func1和func2都會(huì)被執(zhí)行 。

8. 標(biāo)簽的自定義屬性
IE:如果給標(biāo)簽div1定義了一個(gè)屬性value,可以div1.value 和 div1[value]取得該值
FF:不能用div1.value 和div1[value]
解決辦法:div1.getAttribute(’value’)

9. document.form.item
IE:現(xiàn)有問題,document.formName.item(itemName) 這樣的語句,不能在 FF 下運(yùn)行
FF:不支持
解決辦法: document.formName.elements[elementName]

10. 集合/數(shù)組類對(duì)象問題
IE:有許多集合類對(duì)象取用時(shí)用()
FF:不能這樣取用
解決辦法:改用[]作為下標(biāo)運(yùn)算 。
如:document.forms(formName) 改為 document.forms[formName] 。document.getElementsByName(inputName)(1) 改為 document.getElementsByName(inputName)[1]

11. HTML對(duì)象的id作為對(duì)象名的問題
IE:HTML對(duì)象的id可以作為document的下屬變量名直接使用
FF:需要用getElementById()方法
解決辦法:用getElementById(’idName’)代替idName作為對(duì)象變量使用

12. 用idName字符串取得對(duì)象的問題
IE:利用eval(idName)可以取得 id 為 idName 的HTML對(duì)象 。
FF:不支持
解決辦法:getElementById(idName) 代替 eval(idName)

13. 變量名與某 HTML 對(duì)象 id 相同的問題
IE:因?yàn)镠TML對(duì)象id 在IE中直接調(diào)用,所以變量名不能和id相同
FF:可以使用變量名和id相同
解決辦法,聲明變量時(shí)一律加上 var,以避免歧義(最好id和變量名不要相同) 。

14. document.getElementsByName() 和 document.all[name]
IE:getElementsByName()、document.all[name] 均不能用來取得 div 元素

推薦閱讀