代码
|
|
关于SetCapture()函数
定义:该函数属于当前线程的指定窗口里设置鼠标捕获。一旦窗口捕获了鼠标,所有鼠标输入都针对该窗口,无论光标是否在窗口的边界内。同一时刻只能有一个窗口捕获鼠标。如果鼠标光标在另一个线程创建的窗口上,只有当鼠标键按下时系统才将鼠标输入指向指定的窗口。
大概作用就是在拖动过程中,可以捕获到浏览器的外的拖动事件。
要注意的是,在浏览器外无法捕获到鼠标的点击事件,因为鼠标点击后焦点就在浏览器外的窗口了,原来的SerCapture函数就失效了。
关于releaseCapture()函数
SetCapture()与releaseCapture()成对出现,否则别的线程调用就会失败。
关于offsetLeft
运用这段代码时出现了错误,反复调用控制台发现offsetLeft并非是元素到浏览器左边的距离,而是元素到第一个最近的定位过的父元素(offsetParent)的距离。如果没有定位过的父元素,则offsetParent为body。