一个node-webkit项目,顶部标题栏css样式设置为 -webkit-app-region:drag,就触发不了鼠标相关事件
1 回答

吃鸡游戏
TA贡献1829条经验 获得超7个赞
我也遇到这个问题了,我是想做一个像迅雷下载速度一样的悬浮框,能拖,能点击,能右键
试了很多种方案都不完美..
最终找到一个方案..虽然比较麻烦,但是实现很完美
那就是不用 -webkit-app-region:drag
自己捕获鼠标事件,然后移动窗口
实现拖拽代码如下
var win = nw.Window.get() let biasX=0 let biasY=0 document.addEventListener('mousedown',function(e){ biasX=e.x biasY=e.y document.addEventListener('mousemove',moveEvent) }) document.addEventListener('mouseup',function(){ biasX=0 biasY=0 document.removeEventListener('mousemove',moveEvent) }) function moveEvent(e){ win.moveTo(e.screenX-biasX,e.screenY-biasY) }
click事件需要自己实现..不然拖动也会触发click
mousedown之后mouseup 判断鼠标移动距离.
小于多少就当click事件处理..大于多少距离就当移动..不触发click
添加回答
举报
0/150
提交
取消