【问题标题】:NivoSlider - Disable Right ClickNivoSlider - 禁用右键单击
【发布时间】:2013-08-22 11:27:53
【问题描述】:

我被要求在网站上禁用右键单击,我告诉他们有很多方法人们仍然可以通过 Google 图片、缓存、Firebug 等下载图片,但没有更少我的论点被忽略了,他们坚持必须这样做。

任何,我在页脚中添加了一些代码,使用<IMG src=""> 禁用右键单击所有元素这无法在 NivoSlider 上运行,我确实更改了脚本以使用窗口加载来禁用右键单击,但之后slide1 它停止工作,我认为这与 DOM 的更改有关。

到目前为止,JavaScript 是我最薄弱的一点,我希望没有太多麻烦的人可以给我一个完整的工作解决方案或继续做一些事情。提前致谢。

他们正在使用带有以下触发器的 NivoSlider:

<script type="text/javascript">
    (function($) {
        $(window).load(function() {
            $('#slider').nivoSlider();
        });
     })(jQuery);
</script>

这是我放置在页脚中的代码,无法在 slide2+ 上运行

<script>
    $(window).load(function() {
        $('img').bind('contextmenu', function(e) {
            return false;
        });
    });
</script>

【问题讨论】:

    标签: javascript jquery nivo-slider


    【解决方案1】:

    您对 DOM 的更改是完全正确的。您需要将事件委托给父元素。

    试试这样的:

    $('#slider').delegate('img', 'contextmenu', function(e) {
        return false;
    });
    

    如果使用 jQuery > 1.7 则为:

    $('#slider').on('contextmenu', 'img', function(e) {
        return false;
    });
    

    【讨论】:

    • 非常好,第一名直接工作,没有任何进一步的编辑。非常感谢 +1 并接受。
    【解决方案2】:

    您可以通过阻止右键单击图像的默认行为来做到这一点。

    看到这个答案:How to distinguish between left and right mouse click with jQuery

    【讨论】:

      猜你喜欢
      • 2013-10-05
      • 2012-07-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-04
      • 2021-03-26
      • 2012-07-19
      • 2021-09-10
      • 1970-01-01
      相关资源
      最近更新 更多