如何在 Dashcode 小部件中捕获鼠标拖动事件?
我有一个使用 Dashcode 编写的 OSX 小部件。
目前,任何鼠标拖动事件都会导致整个小部件在桌面上移动。
我希望能够在该小部件的画布内单击并拖动,但我似乎无法阻止 OSX 仪表板移动整个小部件。
我已经很高兴地捕捉鼠标移动,但点击/拖动组合却打败了我。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我显然已经找到了答案,此处位于 Apple 开发者网站中。
在您想要接收拖动事件而不是拖动小部件的
div
上放置-apple-dashboard-region:
样式,例如:编辑 - 这有效 - 我可以现在,当按下鼠标按钮时捕获
onMouseMove()
事件。我(还)不能做的一件事是相当于 IE 的
setCapture()
,即使拖动超出了小部件的区域,鼠标移动事件也会继续传递到应用程序。I've apparently found the answer, here in the Apple Developer site.
Put a
-apple-dashboard-region:
style on thediv
that you want to have receive drag events instead of dragging the widget, e.g.:EDIT - this works - I can now capture
onMouseMove()
events when when the mouse button is pressed.One thing I can't (yet) do is the equivalent of IE's
setCapture()
, where mouse movement events continue to be passed to the application even when the drag extends beyond the area of the widget.