2015-08-26 46 views
6

我有一个纸按钮,打开一个文件,对话框包含“接受”纸按钮点击时会关闭它的上抽头功能。聚合物1.0无法停止敲击事件传播

,我发现了问题是,如果依赖于我的屏幕分辨率,对话框的“接受”按钮是在初始按钮打开对话框,点击后,对话框打开和关闭。我假设点击事件正在被解雇。

我试过这两种方法,但它们似乎没有帮助。

event.cancelBubble = true; 
event.stopPropagation(); 
+0

如果我使用点击打电话给我的功能,这不会发生。但我仍在寻找一种方法来阻止事件传播的发生。 – intosite

+0

event.stopPropagation();在回调(e)从#95在https://github.com/PolymerLabs/more-routing/blob/master/demo/polyfora-forum-index.html –

回答

0

问题是,电容屏或甚至鼠标可以在几个milisec内同一个点上产生多个敲击事件。

  • 的鼠标,因为在高和低电压的快速变化(逻辑1和0)生成的AC信号至极可以跳上一个电容储能槽(其可以是空气之间的按钮2接触器),如果条件匹配。但是onclick事件已经在捕捉这种情况,您不需要做任何事情来解决它。

  • 电容屏幕是电容器,只是滚动你的手指应该触发多次敲击事件,因为你的皮肤具有不同的绝缘深度,并且在某些情况下难以标记敲击开始和结束。

这种物理问题应该由平台来解决,但它不是在任何情况下目前(但大部分的设备都过滤此)。我通过一个透明的覆盖元素来解决这个问题,它可以捕获指针事件持续一段时间,这样我就可以捕捉按钮或电容屏幕的“精确”几毫秒。

如果10-20ms足够你那么等待你的抽头功能框架与​​,然后显示对话框。便宜的技巧,但它做到了,但最终你可以等待修复超时显示对话框,因为你有100ms响应用户交互。

无法通过,但因为我知道你没有选项,需要多少时间传递,直到下一个相同的事件应该happend操纵浏览器事件选项解决这个问题。但是,如果您等待一个可能像您一样的框架,则会在事件之间添加延迟。