以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 SVG/GML/VRML/X3D/XAML 』  (http://bbs.xml.org.cn/list.asp?boardid=21)
----  [求助]svg对于不同的图形元素动态创建不同的右键菜单?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=21&rootid=&id=86266)


--  作者:crud0906
--  发布时间:8/13/2010 3:32:00 PM

--  [求助]svg对于不同的图形元素动态创建不同的右键菜单?
如题: 假如svg中有两个图形元素:一个矩形,一个圆,如何实现右键点击矩形跟圆的时候都出现菜单,并且菜单项不一样?

我自己想到一点,就是刚开始svg加载的时候通过onload屏蔽掉默认右键菜单,然后在每个元素的onmousedown事件中通过contextMenu.appendChild("")添加右键菜单项,然后菜单显示出来以后再通过contextMenu.removeChild()删除掉右键菜单,但是这个删除的动作不知道放在什么事件里,试了onmouseup,不好使
望高人指点!万分感谢!


--  作者:crud0906
--  发布时间:8/13/2010 4:09:00 PM

--  
这个论坛人气太低了
--  作者:admin
--  发布时间:8/14/2010 1:52:00 AM

--  
以下是引用crud0906在2010-8-13 15:32:00的发言:
如题: 假如svg中有两个图形元素:一个矩形,一个圆,如何实现右键点击矩形跟圆的时候都出现菜单,并且菜单项不一样?

我自己想到一点,就是刚开始svg加载的时候通过onload屏蔽掉默认右键菜单,然后在每个元素的onmousedown事件中通过contextMenu.appendChild("")添加右键菜单项,然后菜单显示出来以后再通过contextMenu.removeChild()删除掉右键菜单,但是这个删除的动作不知道放在什么事件里,试了onmouseup,不好使
望高人指点!万分感谢!


只要能捕获点击事件,并能区分,点击的是那个目标即可。


--  作者:crud0906
--  发布时间:8/14/2010 9:50:00 AM

--  
以下是引用admin在2010-8-14 1:52:00的发言:
[quote]以下是引用crud0906在2010-8-13 15:32:00的发言:
如题: 假如svg中有两个图形元素:一个矩形,一个圆,如何实现右键点击矩形跟圆的时候都出现菜单,并且菜单项不一样?

  我自己想到一点,就是刚开始svg加载的时候通过onload屏蔽掉默认右键菜单,然后在每个元素的onmousedown事件中通过contextMenu.appendChild("")添加右键菜单项,然后菜单显示出来以后再通过contextMenu.removeChild()删除掉右键菜单,但是这个删除的动作不知道放在什么事件里,试了onmouseup,不好使
  望高人指点!万分感谢!
[/quote]

只要能捕获点击事件,并能区分,点击的是那个目标即可。



首先非常感谢版主的回复,然后再问下你的意思是说对于不同的元素添加相同的onmousedown响应函数,在函数中区分点击目标,创建对应的菜单吗?但是菜单项一旦创建后就有了,我想找个时机删掉,就是说在点击矩形和圆以外的地方不要有右键菜单,不知道根元素SVG的onmousedown事件是什么样的,等会试试


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
62.500ms