这个MouseEvent属性来自哪里?

时间:2015-10-05 06:46:46

标签: javascript angularjs dom mouseevent

我有这个jsfiddle报告了释放鼠标按钮时鼠标移动的白色方块的x,y坐标。

http://jsfiddle.net/35z4J/115/

这部分代码有助于报告正方形中心的x,y坐标。

stop: function(e) {
  console.log("STOPPING");
    var divheight= e.path[0].offsetHeight;
    var divWidth= e.path[0].offsetWidth;
    console.log(e.clientX+divWidth/2)
     console.log(e.clientY+divheight/2)

},

以上令我困惑的2行代码是

var divheight= e.path[0].offsetHeight;
var divWidth= e.path[0].offsetWidth;

我查看了MouseEvent文档。 https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent 我找不到关于path.offsetHeightpath.OffsetWidth的任何内容。那些是什么?我在哪里可以找到相关文档?

1 个答案:

答案 0 :(得分:3)

path是事件对象的一个​​属性,它包含树顺序中的所有祖先。

请参阅Dispatching events

  

如果事件的目标属性值参与树,请让   event path是树中所有祖先的静态有序列表   顺序,让事件路径成为空列表。

因此e.path[0]将引用事件发生地的元素。然后Element具有offsetHeight属性