2013-08-22 2 views
0

Мне было предложено отключить правые клики на веб-сайте, я сообщил им, что существует так много способов, которыми люди могут загружать изображения через Google Images, Cache, Firebug и т. Д. и т. д., но тем не менее мои аргументы проигнорированы, и они настаивают, что это должно быть сделано.NivoSlider - Отключить правый щелчок

Любой, я поставил нижний колонтитул код, который отключает щелчок правой кнопкой мыши по всем элементам, используя <IMG src="">, что не работает на NivoSlider, я изменил сценарий на использование нагрузки окна при отключении правого щелчка, который работает, но после слайда1 он перестает работать, и я полагаю, что это связано с изменениями в 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> 

ответ

1

Вы абсолютно правы с изменениями DOM. Вам необходимо делегировать событие родительскому элементу.

Попробуйте что-то вроде этого:

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

Или это при использовании JQuery> 1.7:

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

Отлично, топ один работал сразу же, без какого-либо дальнейшего редактирования. Большое спасибо +1 и принято. –

Смежные вопросы