html5 svg 中元素点击事件添加方法
2016-07-23来源:

最近在用svg的点击事件做东西,之所以用svg而不用canvas就是因为svg内的元素可以添加点击事件,他们之间详细的区别如下:

下表列出了 canvas 与 SVG 之间的一些不同之处。

Canvas

•依赖分辨率

•不支持事件处理器

•弱的文本渲染能力

•能够以 .png 或 .jpg 格式保存结果图像

•最适合图像密集型的游戏,其中的许多对象会被频繁重绘

SVG

•不依赖分辨率

•支持事件处理器

•最适合带有大型渲染区域的应用程序(比如谷歌地图)

•复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快)

•不适合游戏应用

做出的网页在chorme下可以正常使用,因为要支持移动设备,在android上测试也正常,但是在ipad上打开页面时发现点击事件不管用了,查了很多资料,没有找到问题原因,后来查到w3c中对于svg的描述的demo的确可以实现点击的效果,对比代码,发现自己使用的jquery给svg的元素添加的点击事件,而在svg的元素中没有 onclick="circle_click(evt)"类似描述,添加上onclick="click(evt)"果然在ipad上svg的元素有了点击事件

推荐信息
Baidu
map