【问题标题】:How to prevent Right Click option using jquery如何使用jquery防止右键单击选项
【发布时间】:2011-04-11 07:27:09
【问题描述】:

是否可以阻止我们在网页中使用的 IMAGES 的 RIGHT CLICK 选项。

【问题讨论】:

  • 我通常会因为人们质疑我的动机而不是仅仅回答该死的问题而感到恼火,但你真的想劫持用户的鼠标右键吗?如果他们想获取您的图像,他们会以一种或另一种方式获得... Firebug 或仅查看源代码就足以直接链接到您的任何图像。
  • 您是否试图阻止他人下载您的图片?在这种情况下,您几乎可以忘记它,因为为了在浏览器中显示图像,必须将其复制到客户端,并且在大多数情况下将存储在磁盘上的某个位置。此外,大多数浏览器都包含一个配置选项以防止对上下文菜单进行操作:Example for Firefox
  • 可能值得一提的是为什么您尝试禁用右键单击。如果您认为您在保护您的图像,请再想一想 - 您只是在阻止计算机文盲(这确实有其优点)。
  • 如果保护图像是真正解决方案的原因是使用水印。是另一个 X Y 问题吗?
  • 我希望人们能在这里放下他们的高位,除了阻止人们下载图像之外,还有无数的理由想要这样做。如果 OP 想要这样做,那么本着问答的精神,如果你知道如何回答这个问题。如果 OP 在回答后说“所以用户无法下载图像”,请继续告诉他们为什么这不是一个完整的解决方案。

标签: jquery


【解决方案1】:
$(document).ready(function() {
    $("img").on("contextmenu",function(){
       return false;
    }); 
}); 

工作示例:http://jsfiddle.net/vak9exyk/

【讨论】:

  • 这是我如何扩展它以增加 mac 用户的难度jsfiddle.net/codedog/uKmDX
  • 我真的不喜欢阻止右键单击图像的想法。
  • 两者都不是。我们现在是更糟糕的互联网的推动者
  • 完美,谢谢。我在信息亭模式下的全屏浏览器上使用它,我认为这是禁用上下文菜单的正当理由。
  • @MartinSpamer 有人解释了为什么他们可能需要它。 “我在信息亭模式下的全屏浏览器上使用它,我认为这是禁用上下文菜单的正当理由”......它也不是在推广它,它是在回答一个问题。 (虽然我同意不建议禁用右键单击)
【解决方案2】:

我认为这应该会有所帮助。技巧是绑定 contextmenu 事件。

<script type="text/javascript" language="javascript">
        $(function() {
            $(this).bind("contextmenu", function(e) {
                e.preventDefault();
            });
        }); 
</script>

【讨论】:

  • $(this) 是我想要的,谢谢! .bind() 也被贬低了,改用.on()
  • 谢谢。$(this) 也解决了我的问题。很好的答案!
【解决方案3】:

&lt;body oncontextmenu="return false" onselectstart="return false" ondragstart="return false" &gt;

在您选择的标签中设置这些属性

见这里工作示例 - https://codepen.io/Developer_Amit/pen/drYMMv

不需要 JQuery(喜欢)

【讨论】:

    【解决方案4】:
    $(document).ready(function() {
    
        $(document)[0].oncontextmenu = function() { return false; }
    
        $(document).mousedown(function(e) {
            if( e.button == 2 ) {
                alert('Sorry, this functionality is disabled!');
                return false;
            } else {
                return true;
            }
        });
    });
    

    如果您只想在图像上禁用它,请单击 $(document).mousedown 而不是使用 $("#yourimage").mousedown

    【讨论】:

    • 谢谢阿努,就像我上面说的...这防止右键单击整个页面,我只需要图像...
    【解决方案5】:

    以下代码将禁用整个页面的鼠标右键单击。

    $(document).ready(function () {
       $("body").on("contextmenu",function(e){
         return false;
       });
    });
    

    完整的教程和工作演示可以从这里找到 - Disable mouse right click using jQuery

    【讨论】:

      【解决方案6】:

      试试这个:

      $(document).bind("contextmenu",function(e){
          return false;
      });
      

      【讨论】:

        【解决方案7】:

        在这里我找到了一些有用的链接,带有实时工作示例。

        我已经尝试过它的工作正常。

        How to prevent Right Click option using jquery

        $(document).bind("contextmenu", function (e) {
                e.preventDefault();
                alert("Right Click is Disabled");
            });
        

        【讨论】:

        • 对我来说,当鼠标悬停在 IE 上的图像上时,onmousedown 事件没有触发 - 我发现让警报出现的唯一方法是通过此事件。
        • 谢谢。您可以在以下链接中找到一些更简洁的文章。 thedevelopertips.com
        【解决方案8】:

        方法一:

        <script type="text/javascript" language="javascript">
                $(document).ready(function(){
        
                $(document).bind("contextmenu",function(e){
        
                    return false;
        
                    });
        
            });
        
        </script>
        

        方法二:

        <script type="text/javascript" language="javascript">
                $(document).ready(function(){
        
                $(document).bind("contextmenu",function(e){
        
                    e.preventDefault();
        
                    });
        
            });
        
        </script>
        

        【讨论】:

          【解决方案9】:

          这是一个工作示例,红色链接不能再右键单击了。

          $("ul.someLinks1 a").each(function(i, obj) {
          
            $(obj).on("contextmenu",function(){
               return false;
            }); 
            
            $(obj).css("color", "red");
          });
          <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
          <ul class="someLinks1">
            <li><a href="www.google.de">google</a></li>
            <li><a href="www.stackoverflow.de">stackoverflow</a></li>
            <li><a href="www.test.de">test</a></li>
          </ul>
          
          <ul class="someLinks2">
            <li><a href="www.foobar.de">foobar</a></li>
            <li><a href="www.foo.de">foo</a></li>
            <li><a href="www.bar.de">bar</a></li>
          </ul>

          【讨论】:

            【解决方案10】:
            <!DOCTYPE html>
            <html>
            <head>
            <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
            <script>
             $(document).ready(function(){
              $(document).bind("contextmenu",function(e){
              return false;
              });
            });
            </script>
            </head>
            <body>
            
            <p>Right click is disabled on this page.</p>
            
            </body>
            </html>
            

            【讨论】:

              【解决方案11】:

              $(document).ready(function () {

                      $("img").on('contextmenu', function (e) {
                         e.preventDefault();
                      });
              

              });

              【讨论】:

                【解决方案12】:
                $(document).mousedown(function(e) {
                    if( e.button == 2 ) {
                         e.preventDefault();
                        return false;
                    } 
                });
                

                【讨论】:

                  【解决方案13】:

                  如果您正在考虑尝试禁用图片的下载/保存,脚本不会阻止它。在服务器配置级别上执行此操作可能会更好(例如在 Apache 上修改 .htaccess)。

                  尝试在ServerFault 上提问。

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 2022-01-09
                    • 1970-01-01
                    • 2021-11-06
                    • 2019-11-22
                    • 2010-11-29
                    • 1970-01-01
                    • 1970-01-01
                    相关资源
                    最近更新 更多