18

jqueryを使用して作業しているページで右クリックイベントを正常に無効にしました。カスタマイズした右クリックメニューを作成したい。これどうやってするの?これを機能させるには、関連するcss設定(つまり「位置」)が必要ですか?

4

3 に答える 3

11

さまざまなjQueryコンテキストメニュープラグインがあり、すぐに使用できます。

于 2009-09-20T02:13:55.797 に答える
3

この例は機能しますが、安っぽくはありません。contextmenu ハンドラーでできることは、画面上の特定の場所に、選択したアイテムを含む DIV を表示することです。私の知る限り、要素を右クリックしたときに表示されるコンテキスト メニュー内の項目をカスタマイズする方法はありません。

<html>
  <head>
    <title>Context menu test</title>  
    <style type="text/css">
      .element {
        background-color: blue;
        height: 300px;
        width: 300px;
      }

      .popup {
        background-color: red;
        border: 1px solid black;
        width: 100px;
        height: 100px;
        position: absolute;
       }
    </style>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
      $(function() {
          $(".element").contextmenu
          (
            function(e) {
              $("div.popup").remove();
              $("<div class='popup'>Hi</div>").appendTo("body")
                .css("left", e.pageX)
                .css("top", e.pageY)
                .show();
              e.preventDefault();  // return false; also works
            }
          );
        }
      );

      $.fn.contextmenu = function(func) {
        return this.bind("contextmenu", func);
      }
    </script>
  </head>
  <body>
    <div class="element"></div>
  </body>
</html>
于 2009-09-20T02:27:24.400 に答える
1

このプラグインもあります:Audero Context Menu。無料で、使い方はとても簡単です。

于 2012-05-22T22:02:59.390 に答える