为什么Firefox event.offsetX和offsetY未定义?

jol*_*olt 2 javascript firefox dom cross-browser offset

我只是偶然发现我的软件中只出现在Firefox上的一个错误.原因是该事件没有定义offsetX和offsetY.

由于这个原因,我设法解决了这个问题.

无论如何,我的问题不是编程帮助请求.我只是好奇为什么这些属性在Firefox中未定义?它背后的原因是什么?

我确实看过:DOM3 UIEvent Spec.,DOM3 MouseEvent Spec.DOM2 MouseEvent Spec..

似乎这里没有提到任何属性,所以,我认为这是在其他浏览器中引入的非官方属性?

dsg*_*fin 7

虽然在W3规范中提到过,offsetx/ offsetyproperties本身在浏览器中实现不一致.

虽然在IE,Webkit浏览器和Opera中都支持它们,但它们的功能都略有不同,除了IE之外 - 根据此处的"计算offsetX,offsetY"部分.

Firefox中根本不支持这些属性 - 它似乎是一个尚未解决的长期错误.

"我想这是在其他浏览器中引入的非官方属性?"

我相信它是一个官方财产,在Firefox中尚未实现.如果它是一个非官方的IE属性,它将不会在W3规范中提到的Webkit/Opera浏览器中实现,也不会实际尝试实现它(请查看上面的bug链接).

  • 仅供参考:Opera现在是一个Webkit浏览器[\ [1 \]](http://my.opera.com/ODIN/blog/300-million-users-and-move-to-webkit),[\ [2] ]](http://business.opera.com/press/releases/general/opera-gears-up-at-300-million-users).Chrome不再是Webkit,它是Blink [1](http://www.chromium.org/blink).并且,似乎Opera将跟随Chromium,也转向Blink [\ [1 \]](http://thenextweb.com/insider/2013/04/04/opera-confirms-it-will-follow-谷歌和 - 沟-webkit的换眨眼-AS-部分 - - 它承诺到铬/). (2认同)