<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>无标题文档</title><script>window.onload = function() { var aInput = document.getElementsByTagName('input'); aInput[0].setCapture(); aInput[0].onclick = function() {//问题1 console.log(1); //alert(1); }aInput[0].onmouseleave = function() { console.log(3); } aInput[1].onclick = function() { alert(2); } }</script></head><body> <input type="button" value="按钮一" /> <input type="button" value="按钮二" /></body></html>问题1:在执行aInput[0].onclick全局捕获之后aInput[0].onmouseleave没有执行全局捕获问题2:在执行aInput[0].onclick全局捕获之后;再次执行aInput[0].onclick没有执行全局捕获问题3:关于setCapture的使用不理解,在元素上设置了之后只能捕获一次吗?如果只能捕获一次,那releaseCapture 就没有意义了?
1 回答
墨色风雨
TA贡献1853条经验 获得超6个赞
setCapture 和 releaseCapture 这两个函数很像是 Windows 下的函数(因为桌面应用开发里有),所以去查了一下,果然,说是基于 IE 实现,没说有哪些浏览器兼容该实现。
然后 setCapture 文档的第一段就说明了,捕捉状态在松开按钮或 releaseCapture 的时候结束
Call this method during the handling of a mousedown event to retarget all mouse events to this element until the mouse button is released or document.releaseCapture() is called.
添加回答
举报
0/150
提交
取消