【问题标题】:How to add an exception to a jQuery that disables right-click?如何向禁用右键单击的 jQuery 添加异常?
【发布时间】:2016-08-30 11:03:00
【问题描述】:

我试图在整个页面中禁用右键单击,但要复制的两个元素除外。我知道每次都禁用右键单击听起来是个坏主意,但在这种情况下对我来说很有意义。我找到了一些关于如何取消绑定元素以重新启用使用 preventDefault(); 阻止的行为的信息;并且还尝试了 return: true 例外,但它没有成功。重新启用右键单击功能没有触发器,应该是一次性的。

$(function() {
    $(document).ready(function() {
        $(document).bind('contextmenu', function(e) {
            e.preventDefault();
        });
    });
}); 

我也试过这个:

var disablerightclick = function(e) {
    e.preventDefault();      
}
$(document).ready(function() {  
    $(document).bind('contextmenu', disablerightclick);   
});
//]]>

它每次都有效。但它不允许我直接在下面解绑其他任何东西,而且它没有,我会尝试一些东西并更新它是否有效。

这是我之前提到的更新。它不起作用...

var disablerightclick = function(e) {
    return false;    
}
    $(document).ready(function() {
        $('img').mousedown(function(){return false});
        $('body').bind('contextmenu', disablerightclick);
    });
    $('#AnyObject').hover(function() {
        $('body').unbind('contextmenu', disablerightclick);
    });

我会继续尝试,因为我没有得到任何答案。

【问题讨论】:

    标签: jquery binding return preventdefault right-click


    【解决方案1】:

    阅读this thread

    使用此代码:

    $(document).on('contextmenu', function(e) {
        if (!$(e.target).is("#special"))
           return false;
    
        alert('#special right clicked');
        // you may want e.preventDefault() here
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-22
      • 2019-04-17
      • 1970-01-01
      • 2012-07-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多