js怎么获取鼠标在浏览器以外区域的坐标?

在做表格拖动调整列宽时发现任何鼠标事件都无法获取鼠标在浏览器以外的坐标
drag直接不触发,mousemove无效,一旦离开可视区域,立即失去所有坐标信息,但是很多在线表格调整列宽时都能离开可视区域甚至浏览器,怎么做到的?

阅读 2.2k
1 个回答

在需要拖拽的元素上监听mousedown,然后在mousedown中去监听documentmousemove就可以获得你想要的坐标信息了

element.addEventListener('mousedown',()=>{
    const move=(e)=>{
        // 这里获取鼠标移动的坐标信息
    }
    const up =(e)=>{
        console.log('end')
        document.removeEventListener('mousemove',move)
        document.removeEventListener('mouseup',up)
    }
    document.addEventListener('mousemove',move)
    document.addEventListener('mouseup',up)
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题