js获取鼠标点击元素的位置,在vue中。

鼠标点击元素后, js获取该元素相对于浏览器左上角的位置偏移, 现在只有鼠标点击的event

clipboard.png

阅读 13.5k
3 个回答

看了下你的解決方法,但是其實不用那麼複雜,原生的 dom 就有提供一個 getBoundingClientRect() 方法可以取得元素相對於瀏覽器的位置,而且兼容到 IE 8

你可以這樣使用它:

showPopup: function(e){
    var rect = e.target.getBoundingClientRect()
    this.popup.x = rect.left
    this.popup.y = rect.top
}

没看懂你的代码。

按你的描述写了个例子。http://runjs.cn/code/ubnuxnpj

Runjs 运行有点卡,你可以复制下来试试。我本地是完全不会卡顿的。

event为鼠标点击元素的事件
e.target 可以获取到当前点击的元素,然后使用jquery方法获取元素位置

代码:

showPopup:function(e){
    var pos = $(e.target).offset();
    console.log(pos);
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题