一个asp.net程序,我想在运行中的页面内,单击鼠标右键显示一个自定义菜单。
(菜单是一个页面,想让它像操作系统右键菜单一样显示)
菜单里面有我自己放的linkbutton控件写了自己的事件。
想在页面的某一定范围类点击鼠标右键可以显示。没找到很好的方法。
哪位实现过,提供一下帮助,本人在线等待!

解决方案 »

  1.   

    <html>
    <head>
    <script language="javascript">
    <!--
    function show()
    {
    if(event.button==2)
    {
    window.status=event.clientX+" : "+event.clientY+" "+document.body.clientWidth+" : "+document.body.clientHeight;
    if(document.all)
    {
    div1.style.display="block";
    var lf=document.body.clientWidth-event.clientX;
    var tp=document.body.clientHeight-event.clientY;

    if (lf < div1.offsetWidth)
    div1.style.left = document.body.scrollLeft + event.clientX - div1.offsetWidth;
    else
    div1.style.left = document.body.scrollLeft + event.clientX;
    if (tp < div1.offsetHeight)
    div1.style.top = document.body.scrollTop + event.clientY - div1.offsetHeight;
    else
    div1.style.top = document.body.scrollTop + event.clientY;
    }
    }
    }
    document.onmousedown=show;
    document.oncontextmenu=function(){return false};
    //-->
    </script>
    </head>
    <body>
    <div id="div1" style="position:absolute;display:none;">
    <table cellpadding="0" cellspacing="0" style="border:1px solid black;">
    <tr>
    <th style="background-color:black;color:white;width:100px;">测试</th>
    </tr>
    <tr>
    <td>菜单一</td>
    </tr>
    <tr>
    <td>菜单二</td>
    </tr>
    <tr>
    <td>菜单三</td>
    </tr>
    <tr>
    <td>菜单四</td>
    </tr>
    <tr>
    <td>菜单五</td>
    </tr>
    </table>
    </div>
    </body>
    </html>
      

  2.   

    是的用JS判断
    event.button==2
      

  3.   

    可以
    把JS写道专门JS文件里
      

  4.   

    把javascript放在一个文件里,应该可以。
      

  5.   

    现在在其他的区域可以实现右键菜单,可是有一个reportviwer控件无法实现右键菜单这又有什么办法吗?
      

  6.   

    我做过一个Winform右键弹出菜单的,不知道楼主有没有兴趣
      

  7.   

    大哥 我是做web程序  winform的东西很多不同啦