在开发基于cappuccino框架的web应用程序时只需要在Chromium浏览器环境中运行(~ Chromium V.19于今年春季发布)我遇到了以下问题:
我们希望应用程序在几秒钟内锁定或删除所有鼠标点击(同时应用程序执行一些后台计算)。
这个看似简单的任务似乎几乎不可能完成。我们在整个屏幕上实现了Html-<div>
层,并试图操纵它mouseup,mousedown处理程序,如:
onmouseup="return false">
onmousedown=";return false">
但没有显示任何结果。
同时迭代实际Cappuccino窗口视图的所有CPControl子视图并禁用
[子视图集启用:否];
并没有真正的帮助:
然后,子视图确实被禁用了(并且无法点击,这正是我们想要的)但为时已晚:尽管我们在开始后台任务之前禁用了它们,禁用效果在后台任务完成后生效,也是如此不能防止用户在合理计算期间进行愚蠢的点击。
我还尝试实现类似的代码
[CPRunLoop limitDateForMode:CPDefaultRunLoopMode];
在禁用CPControls之后和启动后台任务之前,但它也不起作用。
那么,有人对Javascript-/Html或卡布奇诺方面有想法吗?
CPWindow有一个方法:setIgnoresMouseEvents:只需在窗口上调用它。