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());
}
}