新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论SVG, GML, X3D, VRML, VML, XAML, AVALON, Batik等基于XML的图形技术,以及有关GIS的应用。
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - 高级XML应用『 SVG/GML/VRML/X3D/XAML 』 → 如何编写自定义右键菜单,并且触发自定义事件!!!求助~~~ 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 33212 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 如何编写自定义右键菜单,并且触发自定义事件!!!求助~~~ 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     upc2neiep 帅哥哟,离线,有人找我吗?
      
      
      等级:大二期末(汇编考了97分!)
      文章:85
      积分:460
      门派:XML.ORG.CN
      注册:2006/4/11

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给upc2neiep发送一个短消息 把upc2neiep加入好友 查看upc2neiep的个人资料 搜索upc2neiep在『 SVG/GML/VRML/X3D/XAML 』的所有贴子 引用回复这个贴子 回复这个贴子 查看upc2neiep的博客楼主
    发贴心情 如何编写自定义右键菜单,并且触发自定义事件!!!求助~~~

    我看了前面的几个例子,一些只能触发SVG本身的函数,根本不能触发自定义事件
    比如下面的zoomin事件(本来是ZoomIn)
    <?xml version="1.0" encoding="UTF-8"?>
    <menu id="myCustomMenu">
     <header>Adobe SVG Viewer</header>
     <item action="zoomin" id="zoomin">zoom in </item>
     <item action="ZoomOut" id="ZoomOut">Zoom Out</item>
     <item action="OriginalView" id="OriginalView">Original View</item>
     <separator/>
     <item action="Quality" id="Quality">Higher Quality</item>
     <item action="Pause" id="Pause">Pause</item>
     <item action="Mute" id="Mute">Mute</item>
     <separator/>
     <item action="Find" id="Find">Find...</item>
     <item action="FindAgain" id="FindAgain">Find Again</item>
     <separator/>
     <item action="Copy" id="Copy">Copy Selected Text</item>
     <item action="CopySVG" id="CopySVG">Copy SVG</item>
     <item action="ViewSVG" id="ViewSVG">View SVG</item>
     <item action="ViewSource" id="ViewSource">View Source</item>
     <item action="SaveAs" id="SaveAs">Save SVG As...</item>
     <separator/>
     <item action="Help" id="Help">Help</item>
     <item action="About" id="About">About Adobe SVG Viewer...</item>
    </menu>
    再者右键菜单出现的时候,第一次总是出现系统菜单,以后出现的才是自定义菜单,怎么修改?以前看见一个说用“evt.preventDefault();”但是这样的话,菜单都不出现了
    function popmenu(evt)
    {
     if (evt.button==2)
     {
      //evt.preventDefault();
      getURL("menu.xml", menuLoaded);
     }
    }

    function menuLoaded(data)
    {
     if(data.success)
     {
      var newMenuRoot=parseXML(data.content,contextMenu);
      contextMenu.replaceChild(newMenuRoot,contextMenu.getDocumentElement());
     }
    }


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/6/16 8:35:00
     
     upc2neiep 帅哥哟,离线,有人找我吗?
      
      
      等级:大二期末(汇编考了97分!)
      文章:85
      积分:460
      门派:XML.ORG.CN
      注册:2006/4/11

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给upc2neiep发送一个短消息 把upc2neiep加入好友 查看upc2neiep的个人资料 搜索upc2neiep在『 SVG/GML/VRML/X3D/XAML 』的所有贴子 引用回复这个贴子 回复这个贴子 查看upc2neiep的博客2
    发贴心情 
    还有如何通过滚轴实现自定义缩放,帮帮忙 谢谢了
    好像不能捕捉滚轴一样
    左键evt.button=0;
    右键evt.button=2;
    滚轴怎么也滚不出来 555555555555555
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/6/16 8:51:00
     
     tamefox 美女呀,离线,快来找我吧!魔羯座1980-1-1
      
      
      威望:1
      等级:大四(每天看1小时莱昂氏)
      文章:129
      积分:1236
      门派:XML.ORG.CN
      注册:2005/7/6

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给tamefox发送一个短消息 把tamefox加入好友 查看tamefox的个人资料 搜索tamefox在『 SVG/GML/VRML/X3D/XAML 』的所有贴子 引用回复这个贴子 回复这个贴子 查看tamefox的博客3
    发贴心情 
    你要是在用的时候才动态添加,肯定是第一次出现系统右键菜单,第二次才出现你加载的菜单,唯一的办法就是在使用之前,该菜单已经载入内存,反正我是这么做的,至于滚轴,你可以看这里相关的帖子,mrx已经解决了,找她的帖子看看~

    ----------------------------------------------
    无为而无所不为
    有为而有所不为

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/6/24 18:07:00
     
     tamefox 美女呀,离线,快来找我吧!魔羯座1980-1-1
      
      
      威望:1
      等级:大四(每天看1小时莱昂氏)
      文章:129
      积分:1236
      门派:XML.ORG.CN
      注册:2005/7/6

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给tamefox发送一个短消息 把tamefox加入好友 查看tamefox的个人资料 搜索tamefox在『 SVG/GML/VRML/X3D/XAML 』的所有贴子 引用回复这个贴子 回复这个贴子 查看tamefox的博客4
    发贴心情 
    至于在使用之前,已经载入内存,意思是,例如将菜单的内容放到svg文件的defs元素中,这样加载svg文件时,就可以将菜单加入内存,这样你调用的时候,就会出现你定义的右键菜单。如下所示
    ...
    <svg>
    <defs>
    <menu id="myCustomMenu">
    <header>Adobe SVG Viewer</header>
    <item action="zoomin" id="zoomin">zoom in </item>
    <item action="ZoomOut" id="ZoomOut">Zoom Out</item>
    <item action="OriginalView" id="OriginalView">Original View</item>
    <separator/>
    <item action="Quality" id="Quality">Higher Quality</item>
    <item action="Pause" id="Pause">Pause</item>
    <item action="Mute" id="Mute">Mute</item>
    <separator/>
    <item action="Find" id="Find">Find...</item>
    <item action="FindAgain" id="FindAgain">Find Again</item>
    <separator/>
    <item action="Copy" id="Copy">Copy Selected Text</item>
    <item action="CopySVG" id="CopySVG">Copy SVG</item>
    <item action="ViewSVG" id="ViewSVG">View SVG</item>
    <item action="ViewSource" id="ViewSource">View Source</item>
    <item action="SaveAs" id="SaveAs">Save SVG As...</item>
    <separator/>
    <item action="Help" id="Help">Help</item>
    <item action="About" id="About">About Adobe SVG Viewer...</item>
    </menu>
    </defs>
    ...
    </svg>
    至于如何触发自定义的函数,则可以把自定义的函数放在各图形元素的onmousedown,onclick,onmouseover中,这样执行相应操作时,就会调用自定义的相应的函数。
    不知道是否解释清楚了

    ----------------------------------------------
    无为而无所不为
    有为而有所不为

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/6/26 14:13:00
     
     upc2neiep 帅哥哟,离线,有人找我吗?
      
      
      等级:大二期末(汇编考了97分!)
      文章:85
      积分:460
      门派:XML.ORG.CN
      注册:2006/4/11

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给upc2neiep发送一个短消息 把upc2neiep加入好友 查看upc2neiep的个人资料 搜索upc2neiep在『 SVG/GML/VRML/X3D/XAML 』的所有贴子 引用回复这个贴子 回复这个贴子 查看upc2neiep的博客5
    发贴心情 
    谢谢了

    [此贴子已经被作者于2006-7-24 7:36:34编辑过]
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/6/26 14:52:00
     
     fourfire 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:13
      积分:129
      门派:XML.ORG.CN
      注册:2004/6/6

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给fourfire发送一个短消息 把fourfire加入好友 查看fourfire的个人资料 搜索fourfire在『 SVG/GML/VRML/X3D/XAML 』的所有贴子 引用回复这个贴子 回复这个贴子 查看fourfire的博客6
    发贴心情 
    <?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[

    var target;
    getURL("rightbutton.xml", fileLoaded);
    function fileLoaded (data) {
    var msg = '';
    if(data.success) {
    var newMenuRoot=parseXML(data.content,contextMenu);
    contextMenu.replaceChild(newMenuRoot,contextMenu.getDocumentElement());  
    }
    }
    function onmousedown(evt){

    if(evt.button==2) target=evt.getTarget();
    }
    function showAlert(evt){
    if(target!=null)
    {
    alert(target.getAttribute("id"));
    }
    target=null;
    }
    ]]> </script>
    <g >
    <rect id="a" x="2cm" y="1cm" width="6cm" height="3cm" fill="green" stroke="blue"

    stroke-width="5" onmousedown="onmousedown(evt)"/>
    <text id="b" x="5cm" y="5cm" style="font-family:Verdana; font-size:16pt; fill:blue">
    Hello, SVGViewer!
    </text>
    </g>
    </svg>

    ----------------------------------------------
    no pain,no gain

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/6/26 18:21:00
     
     woaimmwwyy 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:2
      积分:58
      门派:XML.ORG.CN
      注册:2009/3/25

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给woaimmwwyy发送一个短消息 把woaimmwwyy加入好友 查看woaimmwwyy的个人资料 搜索woaimmwwyy在『 SVG/GML/VRML/X3D/XAML 』的所有贴子 引用回复这个贴子 回复这个贴子 查看woaimmwwyy的博客7
    发贴心情 
    楼主可以发个XML实现右键菜单的例子学习下吗?
      小弟刚学,先谢谢了
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/3/25 13:56:00
     
     woaimmwwyy 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:2
      积分:58
      门派:XML.ORG.CN
      注册:2009/3/25

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给woaimmwwyy发送一个短消息 把woaimmwwyy加入好友 查看woaimmwwyy的个人资料 搜索woaimmwwyy在『 SVG/GML/VRML/X3D/XAML 』的所有贴子 引用回复这个贴子 回复这个贴子 查看woaimmwwyy的博客8
    发贴心情 
    我的邮箱是:woaimmwwyy@gmail.com
    麻烦发过来学习下
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2009/3/25 14:10:00
     
     wangyi041 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:1
      积分:55
      门派:XML.ORG.CN
      注册:2012/9/4

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给wangyi041发送一个短消息 把wangyi041加入好友 查看wangyi041的个人资料 搜索wangyi041在『 SVG/GML/VRML/X3D/XAML 』的所有贴子 引用回复这个贴子 回复这个贴子 查看wangyi041的博客9
    发贴心情 
    wangyi041@126.com

    谢谢了 能发我一份吗?
    谢谢

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2012/12/7 11:17:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 SVG/GML/VRML/X3D/XAML 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/11/26 6:44:30

    本主题贴数9,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    109.375ms