2013-04-30 3 views
1

Я хочу скрыть изображения в фотографической галерее, когда кто-то использует щелчок правой кнопкой мыши, пытаясь загрузить их. Скрыть объект с JQuery очень легко, когда пресса пользователь нормальный щелчок левой кнопкой мыши, просто добавив простое событиескрыть изображения при щелчке правой кнопкой мыши с помощью jquery

$("document").ready(function(){ 
    $("img").click(function(event){ 
     $(this).hide("fast"); 
    }); 
}); 

Но как я могу определить, правый щелчок мыши, чтобы активировать event.preventDefault(); и установить $(this).hide действие к изображениям ...

+1

Это было задано раньше - http://stackoverflow.com/questions/1206203/how-to-distinguish-between-left-and-right-mouse-click-with-jquery. И вы знаете, что пользователи могут отключить JS, правильно? – Terry

+0

@Terry Даже не нужно отключать JS, вы можете сделать следующее: go Tools> View Source, Ctrl + U, F12 для Firebug/DevTools и т. Д. 'Contextmenu' - просто барьер дурака :) – RaphaelDDL

ответ

1

contextmenu событие вызывается по правой кнопке, так что обычный ярлык, чтобы использовать это событие:

$(document).ready(function(){ 
    $("img").on('contextmenu', function(event){ 
     $(this).hide("fast"); 
    }); 
}); 

другой способ будет использовать событие MouseDown, и проверить, что кнопка wa ы использовали:

$("img").on('mousedown', function(event){ 
    if (event.which === 3) 
     $(this).hide("fast"); 
}); 

В моем браузере (хром) последнее решение не работает с click событием, только mousedown события.

2
$("document").ready(function(){ 
    $("img").click(function(event){ 
     if(event.which === 3) { 
      $(this).hide("fast"); 
     } 
    }); 
}); 
+0

Это не" t, похоже, работает в Chrome или Firefox. http://jsbin.com/emotax/2/edit – CraigTeegarden

+0

@ c4p - no it does'nt! – adeneo

0

можно отключить контекстное меню с помощью contextmenu событие:

$(document).on("contextmenu","img", function(e){ 
    //hide image ,show alert , etc.. 
    return false; 
}); 

в любом случае, это не помешает пользователям возможность сохранять изображения на page.they все еще в состоянии увидеть URL изображения через dom и получить их напрямую или из кеша браузера.