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 閱讀(3133) 評論(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屬性能不用則不用。  回復  更多評論
            

          主站蜘蛛池模板: 靖远县| 秦安县| 阜宁县| 昌江| 安庆市| 新民市| 吉木萨尔县| 江西省| 天柱县| 卢湾区| 泸州市| 溧水县| 昌乐县| 炎陵县| 行唐县| 阿勒泰市| 甘孜| 黎平县| 上犹县| 奉贤区| 黄陵县| 弥渡县| 昌都县| 启东市| 三原县| 建德市| 吉隆县| 莲花县| 景东| 金坛市| 岑溪市| 汉沽区| 广汉市| 西贡区| 梅河口市| 许昌县| 林周县| 尼勒克县| 昌邑市| 濮阳县| 若尔盖县|