0

我被要求在网站上禁用右键单击,我告诉他们有很多方法可以让人们仍然可以通过 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>
4

2 回答 2

1

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

尝试这样的事情:

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

或者如果使用 jQuery > 1.7:

$('#slider').on('contextmenu', 'img', function(e) {
    return false;
});
于 2013-08-22T12:19:22.667 回答
-1

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

看到这个答案:如何区分鼠标左键和右键单击与jQuery

于 2013-08-22T12:15:24.540 回答