html5 svg 中元素点击事件添加方法
程序员文章站
2023-11-24 16:19:34
最近在用svg的点击事件做东西,之所以用svg而不用canvas就是因为svg内的元素可以添加点击事件,接下来详细介绍添加方法,感兴趣的朋友可以了解下... 13-01-16...
最近在用svg的点击事件做东西,之所以用svg而不用canvas就是因为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的元素有了点击事件
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的元素有了点击事件
推荐阅读
-
html5 svg 中元素点击事件添加方法
-
使用jTopo给Html5 Canva中绘制的元素添加鼠标事件
-
jquery无法为动态生成的元素添加点击事件的解决方法(推荐)
-
由JS for 循环中为元素添加点击事件到JS 中的事件委托
-
css隐藏元素的几种方法中可以触发点击事件的是?
-
使用jTopo给Html5 Canva中绘制的元素添加鼠标事件_html5教程技巧
-
前端js中动态添加的元素不能触发绑定事件解决方法
-
jquery无法为动态生成的元素添加点击事件的解决方法(推荐)
-
html5 svg 中元素点击事件添加方法_html5教程技巧
-
html5 svg 中元素点击事件添加方法_html5教程技巧