-1

我有一个使用 Dashcode 编写的 OSX 小部件。

目前,任何鼠标拖动事件都会导致整个小部件在桌面上移动。

我希望能够在该小部件上的画布内单击并拖动,但我似乎无法阻止 OSX 仪表板移动整个小部件。

我已经很高兴地捕捉到了鼠标的移动,但是点击/拖动组合打败了我。

4

1 回答 1

1

我显然已经在 Apple Developer 网站上找到了答案。

在您希望接收拖动事件而不是拖动小部件的样式上放置一个-apple-dashboard-region:样式,例如:div

#canvas {
    -apple-dashboard-region: dashboard-region(control rectangle 4px 4px 4px 4px);
}

编辑 - 这有效 - 我现在可以onMouseMove()在按下鼠标按钮时捕获事件。

我(还)不能做的一件事是相当于 IE 的setCapture(),即使拖动超出了小部件的区域,鼠标移动事件也会继续传递给应用程序。

于 2010-11-04T09:54:21.163 回答