offset属性
在目标节点坐标中鼠标指针的坐标。
如果目标节点在事件发生后被移动,或者元素有影响它的CSS转换,则此值可能在平台上有所不同。
实现
Point get offset {
if (JS('bool', '!!#.offsetX', this)) {
var x = JS('int', '#.offsetX', this);
var y = JS('int', '#.offsetY', this);
return new Point(x as num, y as num);
} else {
// Firefox does not support offsetX.
if (!(this.target is Element)) {
throw new UnsupportedError('offsetX is only supported on elements');
}
Element target = this.target as Element;
var point = (this.client - target.getBoundingClientRect().topLeft);
return new Point(point.x.toInt(), point.y.toInt());
}
}