Loading...

          java .net

          收藏一個現實右鍵菜單的demo

          <%--

          /**

          *實現右鍵菜單功能

          */

          --%>

          <html>
              <body oncontextmenu = showMenu('')>
                  <form name = "menuForm">
                      <!--隱藏框,用來保存選擇的菜單的id值-->
                      <input type = "hidden" name = "id" value = "">
                      <table>
                      <tr>
                 <td><a href="javascript:clickMenu()" oncontextmenu = showMenu('0')>根目錄</a></td>
              </tr>
                      <tr>
                 <td><a href="javascript:clickMenu()" oncontextmenu = showMenu('1')>菜單一</a></td>
              </tr>

                      <tr><td><a href="javascript:clickMenu()" oncontextmenu = showMenu('2')>菜單二</a></td></tr>

                      </table>
                  </form>
              </body>

              <!-- 這里用來定義需要顯示的右鍵菜單 -->
              <div id="itemMenu" style="display:none">
                     <table border="1" width="100%" height="100%" bgcolor="#cccccc" style="border:thin" cellspacing="0">
                            <tr>
                                <td style="cursor:default;border:outset 1;" align="center" onclick="parent.create()">
                                新增
                                </td>
                            </tr>
                            <tr>
                                <td style="cursor:default;border:outset 1;" align="center" onclick="parent.update();">
                                修改
                                </td>
                            </tr>
                            <tr>
                                <td style="cursor:default;border:outset 1;" align="center" onclick="parent.del()">
                                刪除
                               </td>
                            </tr>
                     </table>
              </div>
              <!-- 右鍵菜單結束-->
          </html>


          <script language="JavaScript">

          /**

          *根據傳入的id顯示右鍵菜單

          */

          function showMenu(id){
              menuForm.id.value = id;

              if("" == id){
                  popMenu(itemMenu,100,"100");
              }
              else{
                  popMenu(itemMenu,100,"111");
              }

              event.returnValue=false;
              event.cancelBubble=true;
              return false;

          }


          /**

          *顯示彈出菜單

          *menuDiv:右鍵菜單的內容

          *width:行顯示的寬度

          *rowControlString:行控制字符串,0表示不顯示,1表示顯示,如“101”,則表示第1、3行顯示,第2行不顯示

          */

          function popMenu(menuDiv,width,rowControlString){
              //創建彈出菜單
              var pop=window.createPopup();

              //設置彈出菜單的內容
              pop.document.body.innerHTML=menuDiv.innerHTML;
              var rowObjs=pop.document.body.all[0].rows;

              //獲得彈出菜單的行數
              var rowCount=rowObjs.length;

              //循環設置每行的屬性
              for(var i=0;i<rowObjs.length;i++){
                  //如果設置該行不顯示,則行數減一
                  var hide=rowControlString.charAt(i)!='1';

                  if(hide){
                      rowCount--;
                  }

                  //設置是否顯示該行

                  rowObjs[i].style.display=(hide)?"none":"";

                  //設置鼠標滑入該行時的效果

                  rowObjs[i].cells[0].onmouseover=function(){
                      this.style.background="#818181";
                      this.style.color="white";
                  }
                  //設置鼠標滑出該行時的效果
                  rowObjs[i].cells[0].onmouseout=function(){
                      this.style.background="#cccccc";
                      this.style.color="black";
                  }

              }

              //屏蔽菜單的菜單
              pop.document.oncontextmenu=function() {
                      return false;
              }

              //選擇右鍵菜單的一項后,菜單隱藏
              pop.document.onclick=function(){
                      pop.hide();
              }
              //顯示菜單
              pop.show(event.clientX-1,event.clientY,width,rowCount*25,document.body);
              return true;

          }
          function create(){
              alert("create" + menuForm.id.value + "!");
          }

          function update(){
              alert("update" + menuForm.id.value + "!");
          }
          function del(){
              alert("delete" + menuForm.id.value + "!");
          }
          function clickMenu(){
              alert("you click a menu!");
          }
          </script>

          posted on 2008-08-26 22:06 閱讀(201) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          公告

          希望有一天

          我能用鼠標雙擊我的錢包

          然后選中一張100元

          按住“ctrl+c”

          接著不停的“ctrl+v”

          嘻嘻~~~笑醒~~~



          導航

          <2008年8月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          統計

          常用鏈接

          留言簿(6)

          隨筆分類(102)

          隨筆檔案(398)

          文章分類

          文章檔案(10)

          有趣網絡

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 勃利县| 宝丰县| 罗城| 武宁县| 三穗县| 永丰县| 靖边县| 屏东市| 巴彦淖尔市| 浏阳市| 新宾| 理塘县| 桃源县| 通榆县| 灯塔市| 宿迁市| 隆林| 基隆市| 曲松县| 砀山县| 神木县| 平顶山市| 阿鲁科尔沁旗| 化德县| 宾阳县| 南开区| 台州市| 阜康市| 茌平县| 永寿县| 黑山县| 上饶县| 福泉市| 广河县| 靖州| 工布江达县| 眉山市| 奉节县| 韩城市| 合山市| 灵川县|