javascript 区域外事件捕捉setCapture

今天遇到了这个方法,便去度娘了解了下浏览器

函数功能:该函数在属于当前线程的指定窗口里设置鼠标捕获。一旦窗口捕获了鼠标,全部鼠标输入都针对该窗口,不管光标是否在窗口的边界内。同一时刻只能有一个窗口捕获鼠标。若是鼠标光标在另外一个线程建立的窗口上,只有当鼠标键按下时系统才将鼠标输入指向指定的窗口。函数

setCapture做用是将鼠标事件捕获到当前文档的指定的对象。这个对象会为当前应用程序或整个系统接收全部鼠标事件。使用releaseCapture()释放。测试

setCapture捕获如下鼠标事件:onmousedown、onmouseup、onclick、ondblclick、onmouseover和onmouseout。程序中主要是要捕获onmousemove和onmouseup事件。
 
参数为false时容器不会捕获容器内对象的鼠标事件,即容器内的对象能够正常地触发事件和取消冒泡。
 
DEMO网上不少DEMO说setCapture用于鼠标拖动元素,实际测试有没有setCapture都不影响拖动功能,后来发现setCapture是用来取消其余的拖动事件,好比文字选择。
 
注意:谷歌浏览器不支持该函数 obj.setCapture && obj.setCapture(),包括使用谷歌内核的世界之窗浏览器。
相关文章
相关标签/搜索