NivoSlider - 禁用右键单击

时间:2013-08-22 11:27:54

标签: javascript jquery nivo-slider

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

2 个答案:

答案 0 :(得分:1)

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

尝试这样的事情:

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

或者如果使用jQuery&gt; 1.7:

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

答案 1 :(得分:-1)

您可以通过阻止右键单击图像的默认行为来实现。

请参阅此答案:How to distinguish between left and right mouse click with jQuery