int*_*ite 6 events polymer polymer-1.0
我有一个带有点击功能的纸质按钮,可以打开一个纸质对话框,其中包含一个"接受"纸张按钮,单击该按钮时将关闭它.
我得到的问题是,如果取决于我的屏幕分辨率,并且对话框的"接受"按钮超过初始按钮以打开对话框,单击时,对话框将打开和关闭.我假设on-tap事件正在被解雇.
我尝试了这两种方法,但它们似乎没有帮助.
event.cancelBubble = true;
event.stopPropagation();
Run Code Online (Sandbox Code Playgroud)
问题是电容屏甚至鼠标可以在几毫秒内在同一位置生成多个点击事件。
鼠标因为高电压和低电压(逻辑 1 和 0)的快速变化而产生交流信号,如果条件匹配,该信号可以跳到电容器(可以是空气之间的按钮两个接触器)上。但是 onclick 事件已经捕获了这种情况,您不需要执行任何操作来解决它。
电容屏是电容器,只需滚动手指就会触发多次点击事件,因为您的皮肤具有不同的绝缘深度,并且在某些情况下很难标记点击的开始和结束。
这个物理问题应该由平台解决,但目前并不是在所有情况下(但大多数设备都过滤了这个)。我通常使用透明的覆盖元素来解决这个问题,该元素可以捕获一段时间的指针事件,这样我就可以捕获按钮或电容屏的“prelling”几毫秒。
如果 10-20 毫秒对您来说足够了,那么请在点击功能中等待一帧requestAnimationFrame,然后显示对话框。廉价的技巧,但它做了它必须做的事情,但最终你可以等待修复超时来显示对话框,因为你有 100 毫秒来响应用户交互。
不过,您无法通过操纵浏览器事件选项来解决此问题,因为据我所知,您无法选择在下一个相同事件发生之前需要经过多长时间。但是,如果您等待一帧,其行为可能就像您在事件之间添加了延迟一样。