在非标准ie8下,关于setCapture的使用不理解,在元素上设置了之后只能捕获一次吗?

<!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 就没有意义了?

阅读 2.3k
1 个回答

setCapturereleaseCapture 这两个函数很像是 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.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题