在卡布奇诺网页应用程序中锁定鼠标事件

时间:2012-12-08 16:09:54

标签: javascript-events cappuccino

开发基于卡布奇诺框架的网络应用程序 只需要在Chromium浏览器环境中运行(今年春季发布的~VCD V.19) 我挣扎着遇到以下问题:

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

这个看似简单的任务似乎几乎是不可能的。 我们在整个屏幕上实现了一个Html层,并试图操纵它 mouseup,mousedown-handlers喜欢:

  

onmouseup =“return false;”

     

onmousedown =“return false;”

但是没有显示任何结果。

还遍历实际Cappuccino窗口视图的所有CPControl子视图 并禁用它们

  

[subview setEnabled:NO];

没有任何帮助:

然后确实子视图被禁用(并且不能被cklicked,正是我们想要的) 但是太晚了:尽管我们在开始后台任务之前禁用了它们, 禁用效果在后台任务完成后生效,同样如此 在合理的计算过程中,不要阻止用户进行愚蠢的点击。

我还试图实现像

这样的代码
  

[CPRunLoop limitDateForMode:CPDefaultRunLoopMode];

在禁用CPControls之后和启动后台任务之前,它也不起作用。

在Javascript- / Html或Cappuccino方面,有没有人有任何想法? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

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