0

在开发基于 cappuccino-framework 的 web 应用程序时,它只需要在 Chromium 浏览器环境中运行(〜今年春季发布的 chromium V.19),我遇到了以下问题:

我们希望应用程序在几秒钟内锁定或删除所有鼠标点击(同时应用程序执行一些后台计算)。

这个看似简单的任务似乎几乎是不可能的。我们在整个屏幕上实现了一个 Html 层,并尝试操纵它的 mouseup、mousedown 处理程序,例如:

onmouseup="return false;"

onmousedown="返回假;"

但这没有显示任何结果。

还遍历实际卡布奇诺窗口视图的所有 CPControl 子视图并禁用它们

[子视图 setEnabled:NO];

并没有真正帮助:

然后确实子视图被禁用(并且不能被点击,正是我们想要的)但是太晚了:尽管我们在启动后台任务之前禁用了它们,但禁用效果在后台任务完成后生效,因此不会防止用户在合理计算期间做出愚蠢的点击。

我也尝试实现类似的代码

[CPRunLoop limitDateForMode:CPDefaultRunLoopMode];

在禁用 CPControls 之后和开始后台任务之前,但它也不起作用。

那么有没有人在 Javascript-/Html 或 Cappuccino 方面有想法?提前致谢。

4

1 回答 1

1

CPWindow 有一个方法: setIgnoresMouseEvents:只需在您的窗口上调用它。

于 2012-12-09T00:54:24.843 回答