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
Optimization 使用svg库和javascript优化拖放_Optimization_Svg_Event Handling_User Experience - Fatal编程技术网

Optimization 使用svg库和javascript优化拖放

Optimization 使用svg库和javascript优化拖放,optimization,svg,event-handling,user-experience,Optimization,Svg,Event Handling,User Experience,目前大多数SVG框架都提供拖放功能。我使用了RaphaelJs、Extjs绘图和SVG.js。所有框架都通过将事件处理方法与元素本身绑定来提供事件处理方法。例如: dragStart: function(event){ //'this' refers to the element itself this.doSomething(); this.moveTo(event.x,event.y); }; 然而,这样做的后果是浏览器性能大大降低,当有上百个元素和一些逻辑处理放在

目前大多数SVG框架都提供拖放功能。我使用了RaphaelJs、Extjs绘图和SVG.js。所有框架都通过将事件处理方法与元素本身绑定来提供事件处理方法。例如:

dragStart: function(event){
    //'this' refers to the element itself
    this.doSomething();
    this.moveTo(event.x,event.y);
};
然而,这样做的后果是浏览器性能大大降低,当有上百个元素和一些逻辑处理放在一边时。我的元素将是复合元素,这意味着可能是rect中的一些文本或路径,但当拖动rect时,它应该是事件的目标或路径。元素将有其他事件要侦听,例如onclick、onDblClick、onHover等

我的问题是,有没有办法优化这一点?在应用程序显示了我上面提到的许多复合元素之后,用户体验很差

更新:


我已经使用上面提到的方法构建了一个应用程序。将事件处理程序绑定到每个对象。当元素侦听onhover和onmousedown事件时,结果不是非常用户友好。我正在考虑优化应用程序,但不确定如何优化。FF的效果更明显,铬的效果更好

您确定需要SVG吗?是一个非常棒的API,用于基于Canvas元素进行缩放、旋转、拖放和分组。

您需要提供更多关于您所做工作的详细信息,以及您尝试过的内容,它在所有浏览器中都很慢还是仅在某些浏览器中很慢?