在SVG
图形上单击右键,默认显示的是由ASV自带的由XML文档对象所构建的菜单。在ASV
3.0中,增加了一个contextMenu 变量。该变量同 document 变量一样,也是
window 对象的静态全局变量。它可以引用在ASV
3.0浏览环境下单击鼠标右键时所显示菜单的XML文档对象。通过修改该变量引用的对象内容,可以重构默认的SVG右键菜单。
具体实现为,首先在标记内定义一个菜单,例如下面的代码定义了一个“newMenu”菜单。菜单中可以通过action属性引用内置的ASV函数,通过onactivate属性调用用户自定义的Javascript函数。若给菜单添加链接,则可以设置xlink:href属性。此外,通过
*/
Custom
Menu
Zoom
In
Zoom Out
/* 定义分割符 */
Submenu
Link
onactivate="alert('hello')">hello
然后,通过调用如下所示的javascript语句就可以把原始的上下文菜单替换为新定义的菜单了。
温馨提示:
1.可以将菜单定义部分单独存放为一个xml文件,在使用前将其载入。
2.想给菜单添加事件用的onactivate事件。
参考文献:
1.陈珂. 使用脚本动态操作SVG文档.
http://www-128.ibm.com/developerworks/cn/xml/x-svgscript/index.html,
2005-5-1.
2.Antoine Quint. SVG Tips and Tricks: Adobe's SVG Viewer,