我把"mouseup"事件绑定到"body"元素上了,鼠标松开时执行一个函数。
但是当鼠标移动到浏览器之外的区域时,函数就无法执行了。
我想实现的功能是:当鼠标移动到浏览器之外的时候,鼠标松开,仍可以出发函数。
我把"mouseup"事件绑定到"body"元素上了,鼠标松开时执行一个函数。
但是当鼠标移动到浏览器之外的区域时,函数就无法执行了。
我想实现的功能是:当鼠标移动到浏览器之外的时候,鼠标松开,仍可以出发函数。
鼠标移到浏览器之外,如果在document
上绑定了mouseup
事件,那么当你mousedown
时,event.clentX
和event.clinetY
就会根据你鼠标在浏览器外的位置产生负值和大于window.innerHeight
或window.innerWidth
的值。
所以你要做的事情是:
1.将body
的绑定换为document
2.在mouseup
事件中加入判断:
document.addEventListener('mouseup', function(e) {
if(e.clientY > window.innerWidth || e.clientY<0 || e.clientX<0 ||e.clientX>window.innerHeight){
//在这加入你想执行的代码,此条件下鼠标已经在浏览器外
}
}
9 回答9.4k 阅读
6 回答5k 阅读✓ 已解决
5 回答3.6k 阅读✓ 已解决
4 回答8k 阅读✓ 已解决
7 回答10k 阅读
5 回答7.3k 阅读✓ 已解决
5 回答8.3k 阅读
用js事件委托,绑定到document对象上就可以了