svg自定义菜单的实现
svg也使用过几次了,但是仍不是太熟练。最近做项目遇到新的问题。用户希望右键我在svg上生成的圆,产生自己的菜单,左键点击进入对应的别的操作。即,也拓展原有的右键功能,同时保留之前的左键功能。
实现的具体思路,感谢强大的互联网,找到了几个有用的方案。
第一步先做了静态菜单。
实现方式
在svg里面直接添加下列节点
1 | <defs> |
然后在该SVG中添加JS方法(建议直接添加在SVG中,因为这样可以方便调用svg内置的东西)。
js方法要在svg定义的想替换位置添加。
1 | function showMyMenu(alias,mn,evt) |
我这里为了控制这个Svg的菜单,所以,添加js控制在整个外层g上
1 | <g onmousedown="showMyMenu('','defaultMenu',evt)"> |