當(dāng)需要取到鼠標(biāo)點(diǎn)擊相對(duì)于層的位置信息時(shí),在ie下可以用event.offsetX, evnet.offsetY,在Firefox下是event.layerX, event.layerY。但是firefox下總是有問(wèn)題,取到的不是相對(duì)于層的坐標(biāo),而是pageX,pageY。 Google了半天也沒(méi)有發(fā)現(xiàn)什么解決辦法,最后在一個(gè)網(wǎng)站看到一個(gè)例子,原來(lái)在層中要設(shè)置position為absolute或者relative。
OK,問(wèn)題解決,這點(diǎn)問(wèn)題竟然讓我花費(fèi)了2個(gè)小時(shí)。 :(
評(píng)論
非常謝謝.我就是FIREFOX 計(jì)算layerX出問(wèn)題.怎么也不是相對(duì)于發(fā)生事件的對(duì)象的坐標(biāo).
看了你的文章.弄好了.原因是沒(méi)設(shè)置position 回復(fù) 更多評(píng)論
看了你的文章.弄好了.原因是沒(méi)設(shè)置position 回復(fù) 更多評(píng)論
哈哈還好,還是自己計(jì)算好
鼠標(biāo)指向的元素相對(duì)于網(wǎng)頁(yè)左上角的偏移-鼠標(biāo)相對(duì)于網(wǎng)頁(yè)左上角的偏移 回復(fù) 更多評(píng)論
鼠標(biāo)指向的元素相對(duì)于網(wǎng)頁(yè)左上角的偏移-鼠標(biāo)相對(duì)于網(wǎng)頁(yè)左上角的偏移 回復(fù) 更多評(píng)論
不明白不要亂講,在這里誤導(dǎo)群眾!
offsetX/offsetY:相對(duì)于當(dāng)前元素的位移
x/y:相對(duì)于當(dāng)前座標(biāo)系的位移,但是IE常常搞錯(cuò)當(dāng)前座標(biāo)系
layerX/layerY:相對(duì)于當(dāng)前座標(biāo)系的位移
pageX/pageY:相對(duì)于網(wǎng)頁(yè)的位移
clientX/clientY:相對(duì)于可視窗口的位移
screenX/screenY:相對(duì)于屏幕的位移
offsetX/offsetY:W3C- IE+ Firefox- Opera+ Safari+
x/y:W3C- IE+ Firefox- Opera+ Safari+
layerX/layerY:W3C- IE- Firefox+ Opera- Safari+
pageX/pageY:W3C- IE- Firefox+ Opera+ Safari+
clientX/clientY:W3C+ IE+ Firefox+ Opera+ Safari+
screenX/screenY:W3C+ IE+ Firefox+ Opera+ Safari+
六對(duì)屬性只有clientX/clientY和screenX/screenY是W3C規(guī)范內(nèi)的。
而offsetX/offsetY和pageX/pageY知其一組即可通過(guò)計(jì)算取得另一組,對(duì)于JS開(kāi)發(fā)者而言,F(xiàn)irefox/Opera/Safari提供的pageX/pageY更加實(shí)用。x/y和layerX/layerY本應(yīng)該是作用相同、名稱不同的兩組屬性,即相對(duì)于offsetParent對(duì)象的位移,但是IE對(duì)offsetParent的判斷卻相當(dāng)不準(zhǔn)確,大部份情況下offsetParent對(duì)象都等于body對(duì)象,最嚴(yán)重的后果就是在一個(gè)絕對(duì)定位的層中offsetParent對(duì)象本應(yīng)該為層對(duì)象,可IE卻依舊為body對(duì)象,導(dǎo)致座標(biāo)系混亂,而Opera和Safari中的x/y則同樣繼承了IE中的錯(cuò)誤,因此x/y屬性能不用則不用。 回復(fù) 更多評(píng)論
offsetX/offsetY:相對(duì)于當(dāng)前元素的位移
x/y:相對(duì)于當(dāng)前座標(biāo)系的位移,但是IE常常搞錯(cuò)當(dāng)前座標(biāo)系
layerX/layerY:相對(duì)于當(dāng)前座標(biāo)系的位移
pageX/pageY:相對(duì)于網(wǎng)頁(yè)的位移
clientX/clientY:相對(duì)于可視窗口的位移
screenX/screenY:相對(duì)于屏幕的位移
offsetX/offsetY:W3C- IE+ Firefox- Opera+ Safari+
x/y:W3C- IE+ Firefox- Opera+ Safari+
layerX/layerY:W3C- IE- Firefox+ Opera- Safari+
pageX/pageY:W3C- IE- Firefox+ Opera+ Safari+
clientX/clientY:W3C+ IE+ Firefox+ Opera+ Safari+
screenX/screenY:W3C+ IE+ Firefox+ Opera+ Safari+
六對(duì)屬性只有clientX/clientY和screenX/screenY是W3C規(guī)范內(nèi)的。
而offsetX/offsetY和pageX/pageY知其一組即可通過(guò)計(jì)算取得另一組,對(duì)于JS開(kāi)發(fā)者而言,F(xiàn)irefox/Opera/Safari提供的pageX/pageY更加實(shí)用。x/y和layerX/layerY本應(yīng)該是作用相同、名稱不同的兩組屬性,即相對(duì)于offsetParent對(duì)象的位移,但是IE對(duì)offsetParent的判斷卻相當(dāng)不準(zhǔn)確,大部份情況下offsetParent對(duì)象都等于body對(duì)象,最嚴(yán)重的后果就是在一個(gè)絕對(duì)定位的層中offsetParent對(duì)象本應(yīng)該為層對(duì)象,可IE卻依舊為body對(duì)象,導(dǎo)致座標(biāo)系混亂,而Opera和Safari中的x/y則同樣繼承了IE中的錯(cuò)誤,因此x/y屬性能不用則不用。 回復(fù) 更多評(píng)論
只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。 | ||
![]() |
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問(wèn)
管理
|
||
相關(guān)文章:
|
||