Events Polymer 1.0无法停止抽头事件传播

Events Polymer 1.0无法停止抽头事件传播,events,polymer,polymer-1.0,Events,Polymer,Polymer 1.0,我有一个带有点击功能的纸张按钮,它打开一个纸张对话框,其中包含一个“接受”纸张按钮,点击后将关闭它 我遇到的问题是,根据我的屏幕分辨率,对话框的“接受”按钮位于打开对话框的初始按钮上方,单击时,对话框打开和关闭。我假设正在向这两个用户启动启动启动事件 我试过这两种方法,但似乎都没用 event.cancelBubble = true; event.stopPropagation(); 问题在于,电容式屏幕甚至鼠标可以在几毫秒内在同一地点产生多个点击事件 鼠标之所以会移动,是因为如果条件匹配,

我有一个带有点击功能的纸张按钮,它打开一个纸张对话框,其中包含一个“接受”纸张按钮,点击后将关闭它

我遇到的问题是,根据我的屏幕分辨率,对话框的“接受”按钮位于打开对话框的初始按钮上方,单击时,对话框打开和关闭。我假设正在向这两个用户启动启动启动事件

我试过这两种方法,但似乎都没用

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

问题在于,电容式屏幕甚至鼠标可以在几毫秒内在同一地点产生多个点击事件

  • 鼠标之所以会移动,是因为如果条件匹配,快速改变高压和低压(逻辑1和0)会产生交流信号,从而可以在电容器(可以是两个空气接触器之间的按钮)上跳槽。但是onclick事件已经捕捉到了这种情况,您不需要做任何事情来解决它

  • 电容式屏幕是电容器,只要转动手指就会触发多个抽头事件,因为你的皮肤具有不同的绝缘深度,在某些情况下很难标记抽头的开始和结束

这个物理问题应该由平台来解决,但目前并不是所有情况下都存在(但大多数设备都在过滤这个问题)。我通常用一个透明的覆盖元素来解决这个问题,它可以捕捉指针事件一段时间,这样我就可以捕捉按钮或电容屏幕的“预处理”几毫秒

如果10-20ms足够,则使用
requestAnimationFrame
在点击功能中等待一帧,然后显示对话框。便宜的技巧,但它做它必须做的,但最终你可以等待一个固定超时显示对话框,因为你有100毫秒的时间来响应用户交互


但是,你不能通过操纵浏览器事件选项来解决这个问题,因为我知道你无法选择在下一个相同事件发生之前需要花费多少时间。但是如果您等待一个帧,它的行为可能类似于在事件之间添加延迟。

如果我使用单击调用我的函数,则不会发生这种情况。但我仍在寻找阻止事件传播的方法;在中的#95的回调(e)中,我遇到了一个情况,在聚合物抽头事件中,我调用了event.stopPropagation,但它仍然导致附近的链接(“”)被激活和跟踪。事实证明,这是正确的行为,因为这两个事件是不相关的-点击事件和链接跟随。事实上,tap活动被停止了,但这两项活动的独立性让我感到困惑。在这种情况下可能会发生类似的事情。请确保您看到的是传播的点击事件,而不是其他事件。是的,我怀疑该事件与此无关。我已经尝试了event.stopPropagation();而且它不起作用。因为它只在特定的条件下发生。当覆盖对话框的“关闭”按钮覆盖打开它的“打开”按钮时。它一打开就关上了。因此,我得出结论,点击事件不知何故会向两个按钮触发。event.stopPropagation()适合我。我只需要把它放在第一个事件的末尾,以防止传播到第二个事件。我不能完全确定你的情况,因为我看不到代码。