offsetX, offsetY


Firefox39でoffsetX, offsetYがサポートされたっぽいのだけど、Firefox38でundefinedだったのでそれをなんとかする必要があってごちゃごちゃ書いた。

Firefox38
function onmousedown(event) {
  event.offsetX;  // undefined
  event.offsetY;  // undefined
}

悲しい感じだ( ˘ω˘)

babel/es6
let element = jQuery(targetElement),
    offset = element.offset();

let {
  offsetX = event.pageX - offset.left,
  offsetY = event.pageY - offset.top,
} = event;
es5
var element = jQuery(targetElement),
    offset = element.offset();

var offsetX = event.offsetX || event.pageX - offset.left,
    offsetY = event.offsetY || event.pageY - offset.top;

こんな感じで多分いいっぽい。