以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 SVG/GML/VRML/X3D/XAML 』  (http://bbs.xml.org.cn/list.asp?boardid=21)
----  如何显示不同的右键菜单?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=21&rootid=&id=29611)


--  作者:kun331
--  发布时间:3/30/2006 4:47:00 PM

--  如何显示不同的右键菜单?
我想对下面的两个不同的rect点右键时,弹出两个不同的菜单。
可是下面的代码有些小问题:当第一次右击第一个rect时,弹出的是SVG默认的右键菜单,第二次右击弹出的菜单才正确;这时,再右击第二个rect时,出现的还是上一次的右键菜单,第二次右击弹出的菜单才正确。
请问如何修改?谢谢!
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000802//EN"
"http://www.w3.org/TR/2000/CR-SVG-20000802/DTD/svg-20000802.dtd">

<svg width="600" height="400">

<script type="text/ecmascript">
<![CDATA[

function fileLoaded(data)
{
  if(data.success)
  {
   var newMenuRoot=parseXML(data.content,contextMenu);
   contextMenu.replaceChild(newMenuRoot,contextMenu.getDocumentElement());  
  }
}
function f1(evt)
{
 if(evt.button==2)
 {
  getURL("yy.xml", fileLoaded);
 }
}

function f2(evt)
{
 if (evt.button==2)
 {
  getURL("xx.xml", fileLoaded);
 }
}

]]>
</script>

 <rect onmousedown="f1(evt)" id="a" x="2cm" y="1cm" width="6cm" height="3cm" fill="green" stroke="blue" stroke-width="5"/>
 <rect onmousedown="f2(evt)" id="b" x="2cm" y="5cm" width="6cm" height="3cm" fill="red" stroke="blue" stroke-width="5">
</svg>


--  作者:zwh
--  发布时间:4/3/2006 1:19:00 PM

--  
我也遇到了這樣的問題﹐還請哪位高人指點一下﹗
也請樓主如果解決了﹐麻煩跟小弟分享一下﹗不勝感激﹗
--  作者:mxr
--  发布时间:4/18/2006 2:28:00 PM

--  
if(evt.button==2)
{
  evt.preventDefault();
  getURL("yy.xml", fileLoaded);
}
这样可以屏蔽掉SVG默认的右键菜单
--  作者:tamefox
--  发布时间:10/12/2006 9:42:00 AM

--  
evt.preventDefault()执行之后(即使你改变右键菜单的内容),还能显示右键菜单吗?望赐教~
--  作者:reallylove
--  发布时间:12/18/2006 9:48:00 AM

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