Vincent Thinking

          All about Vincent's work and life

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            34 隨筆 :: 0 文章 :: 183 評論 :: 0 Trackbacks
          當需要取到鼠標點擊相對于層的位置信息時,在ie下可以用event.offsetX, evnet.offsetY,在Firefox下是event.layerX, event.layerY。但是firefox下總是有問題,取到的不是相對于層的坐標,而是pageX,pageY。 Google了半天也沒有發現什么解決辦法,最后在一個網站看到一個例子,原來在層中要設置position為absolute或者relative。 OK,問題解決,這點問題竟然讓我花費了2個小時。 :(
          posted on 2005-11-25 16:24 Vincent Thinking 閱讀(3127) 評論(7)  編輯  收藏 所屬分類: Work

          評論

          # re: 關于layerX,layerY 2007-01-11 12:05 susu
          太謝謝了,解決了我遇到的一個大問題  回復  更多評論
            

          # re: 關于layerX,layerY 2007-01-11 12:05 susu
          太謝謝了,解決了我遇到的一個大問題  回復  更多評論
            

          # re: 關于layerX,layerY 2007-06-02 23:22 angel
          非常謝謝.我就是FIREFOX 計算layerX出問題.怎么也不是相對于發生事件的對象的坐標.
          看了你的文章.弄好了.原因是沒設置position  回復  更多評論
            

          # re: 關于layerX,layerY 2008-04-28 19:08 nichol
          再一次證明firefox沒有ie那么完善,雖然比較接近w3c,但卻覺得w3c沒有大哥的風范。  回復  更多評論
            

          # re: 關于layerX,layerY 2008-08-18 17:37 tangzx
          謝謝...我也是被這個地方搞死了...不過在ff2下是好的 在ff3下就得加上position  回復  更多評論
            

          # re: 關于layerX,layerY 2008-11-03 21:52 gogog
          哈哈還好,還是自己計算好
          鼠標指向的元素相對于網頁左上角的偏移-鼠標相對于網頁左上角的偏移  回復  更多評論
            

          # re: 關于layerX,layerY 2009-05-16 13:23 JavaScriptor
          不明白不要亂講,在這里誤導群眾!

          offsetX/offsetY:相對于當前元素的位移
          x/y:相對于當前座標系的位移,但是IE常常搞錯當前座標系
          layerX/layerY:相對于當前座標系的位移
          pageX/pageY:相對于網頁的位移
          clientX/clientY:相對于可視窗口的位移
          screenX/screenY:相對于屏幕的位移

          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+

          六對屬性只有clientX/clientY和screenX/screenY是W3C規范內的。
          而offsetX/offsetY和pageX/pageY知其一組即可通過計算取得另一組,對于JS開發者而言,Firefox/Opera/Safari提供的pageX/pageY更加實用。x/y和layerX/layerY本應該是作用相同、名稱不同的兩組屬性,即相對于offsetParent對象的位移,但是IE對offsetParent的判斷卻相當不準確,大部份情況下offsetParent對象都等于body對象,最嚴重的后果就是在一個絕對定位的層中offsetParent對象本應該為層對象,可IE卻依舊為body對象,導致座標系混亂,而Opera和Safari中的x/y則同樣繼承了IE中的錯誤,因此x/y屬性能不用則不用。  回復  更多評論
            

          主站蜘蛛池模板: 长乐市| 德安县| 苏尼特右旗| 明溪县| 昌乐县| 习水县| 全椒县| 蒙自县| 安多县| 元朗区| 乐亭县| 涡阳县| 肇州县| 江门市| 二连浩特市| 无为县| 巴马| 南华县| 泗洪县| 北辰区| 九龙坡区| 紫金县| 海伦市| 兴安县| 客服| 许昌县| 福海县| 新野县| 永德县| 罗源县| 安化县| 微博| 于都县| 灵宝市| 金溪县| 烟台市| 邹城市| 灵川县| 余江县| 阜阳市| 运城市|