1

一般的にページの右クリックを無効にしたいのですが、各画像にはカスタムjqueryダイアログがあります。これで、img id がイベントに渡されるため、メニューは同じですが、画像ごとに異なる結果が得られます。

そのため、img class="image" を除くすべての画像以外の一般的なコンテキスト メニューをバインドしたい...

では、$(!.image) をどのように表現すればよいでしょうか ???

編集 not 関数を調べました。私は次のように使用しています: ただし、写真でも一般的なヘルプが得られます。

<script>
  $(document).ready(function() {

  $('*').not('.public-photo').bind("contextmenu", function (event) {
      $("div.custom-menu").hide();
            event.preventDefault();
            $("<div class='custom-menu'>General Help</div>")
                .appendTo("body")
                .css({top: event.pageY + "px", left: event.pageX + "px"});
        });
        $('*').not(".public-photo").bind("click", function (event) {
             $("div.custom-menu").hide();
        });
 }); 
4

4 に答える 4

1

画像を除くすべての要素を取得するには、次のようにします。

$('*:not(.image)').dialog({
    // dialog setup...
});

または、次のようにします。

$('*').not('.image')
于 2012-11-23T14:36:18.237 に答える
0

img class image を除くすべての場合:

疑似セレクタではなくcssを使用:

$('*:not(img.image)')

jquery not メソッドの使用

$('*').not('img.image')
于 2012-11-23T14:39:14.543 に答える
0
$('.yourSelector').not('.image')
于 2012-11-23T14:35:52.873 に答える
0

:not()次のように、セレクターを使用してそれを行うことができます。

$(':not(.image)')

または、次の.not()ような方法:

$('<your container>').not('.image')
于 2012-11-23T14:36:23.563 に答える