我有一个使用 Dashcode 编写的 OSX 小部件。
目前,任何鼠标拖动事件都会导致整个小部件在桌面上移动。
我希望能够在该小部件上的画布内单击并拖动,但我似乎无法阻止 OSX 仪表板移动整个小部件。
我已经很高兴地捕捉到了鼠标的移动,但是点击/拖动组合打败了我。
我有一个使用 Dashcode 编写的 OSX 小部件。
目前,任何鼠标拖动事件都会导致整个小部件在桌面上移动。
我希望能够在该小部件上的画布内单击并拖动,但我似乎无法阻止 OSX 仪表板移动整个小部件。
我已经很高兴地捕捉到了鼠标的移动,但是点击/拖动组合打败了我。
我显然已经在 Apple Developer 网站上找到了答案。
在您希望接收拖动事件而不是拖动小部件的样式上放置一个-apple-dashboard-region:
样式,例如:div
#canvas {
-apple-dashboard-region: dashboard-region(control rectangle 4px 4px 4px 4px);
}
编辑 - 这有效 - 我现在可以onMouseMove()
在按下鼠标按钮时捕获事件。
我(还)不能做的一件事是相当于 IE 的setCapture()
,即使拖动超出了小部件的区域,鼠标移动事件也会继续传递给应用程序。