Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Svg 单击事件处理_Svg_Polymer_Snap.svg - Fatal编程技术网

Svg 单击事件处理

Svg 单击事件处理,svg,polymer,snap.svg,Svg,Polymer,Snap.svg,我正在开发一个交互式svg聚合web组件。最近,我用高保真SVG替换了简单的方框图,并立即注意到单击事件的响应时间要慢得多。单击处理程序附加到覆盖复杂SVG的简单路径。我在polymer.js(v0.5.4)中发现mousedown函数执行,随后会出现100ms到1000ms的长延迟,polymer mouseup函数执行,最后我的click处理程序执行大约60ms。我想知道mousedown和mouseup之间的不同聚合物延迟,因为这会导致我的应用程序出现性能问题。我认为这可能与300ms移动

我正在开发一个交互式svg聚合web组件。最近,我用高保真SVG替换了简单的方框图,并立即注意到单击事件的响应时间要慢得多。单击处理程序附加到覆盖复杂SVG的简单路径。我在polymer.js(v0.5.4)中发现mousedown函数执行,随后会出现100ms到1000ms的长延迟,polymer mouseup函数执行,最后我的click处理程序执行大约60ms。我想知道mousedown和mouseup之间的不同聚合物延迟,因为这会导致我的应用程序出现性能问题。我认为这可能与300ms移动点击延迟()有关,但延迟并不一致,我在台式机上运行。典型的延迟似乎在160毫秒左右,但超过500毫秒的变化对性能尤其有害。我在Chrome的多台机器上复制了这一点。关于发生了什么以及如何修复它,有什么想法吗

这里是我收集的一些毫秒计时,例如516是聚合物mousedown/mouseup delta,clickTime是执行我的处理程序的时间

polymer: 516  clickTime: 52 9% of total time
polymer: 137  clickTime: 51 27% of total time
polymer: 153  clickTime: 48 23% of total time
polymer: 136  clickTime: 47 25% of total time
polymer: 152  clickTime: 43 21% of total time
polymer: 442  clickTime: 44 9% of total time
polymer: 152  clickTime: 42 21% of total time
polymer: 150  clickTime: 41 21% of total time
polymer: 167  clickTime: 40 19% of total time
polymer: 147  clickTime: 41 21% of total time
polymer: 147  clickTime: 40 21% of total time
polymer: 148  clickTime: 42 21% of total time
polymer: 410  clickTime: 40 8% of total time
polymer: 132  clickTime: 48 26% of total time
polymer: 534  clickTime: 47 8% of total time
polymer: 537  clickTime: 47 8% of total time

您是否确认该问题包括聚合物?如果使用SVG并使用裸DOM事件,会发生什么情况,您是否仍然看到延迟?i、 e.document.querySelector('svg行')。addEventListener(…)是的,我可以在没有问题的情况下运行它-我的单击处理程序会立即运行。从Chrome的分析器中,我注意到在我的处理器运行之前,聚合物鼠标向下和鼠标向下之间有一个巨大的延迟。