Foros del Web » Programando para Internet » Javascript »

Determinar si se hace click sobre una imagen

Estas en el tema de Determinar si se hace click sobre una imagen en el foro de Javascript en Foros del Web. Hola ¿Cómo podría detectar si alguien hace click derecho sobre una imagen cualquiera de una página? Algo así: Código: if (alguien_hace_click_derecho) { if (es_una_imagen) { ...
  #1 (permalink)  
Antiguo 29/10/2003, 05:05
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 22 años, 2 meses
Puntos: 55
Determinar si se hace click sobre una imagen

Hola
¿Cómo podría detectar si alguien hace click derecho sobre una imagen cualquiera de una página? Algo así:
Código:
if (alguien_hace_click_derecho) {
if (es_una_imagen) {
alert('¡IMAGEN!');
} else {
alert('No es una imagen');
}
}
__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.
  #2 (permalink)  
Antiguo 30/10/2003, 06:28
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Hola ferny, compañero de desvelos !

Mira, con el botón derecho no sé. Sé que se puede pero no he encontrado así de forma rápida la forma. Y como sé que tienes prisa pues...

Te lo he puesto para que si pinchas con el botón izquierdo sobre una imagen (siempre entendiendo que somos diestros) salte el mensaje. Y sólo funciona con IE (creo)

Dime si te sirve:

Código PHP:
<html>
<
head>
    <
title>Untitled</title>
    <
script>
    
document.onclick comprobar
    
    
function comprobar(esto){
    
pinchoen event.srcElement;
    for(
a=0;a<document.images.length;a++){
    if(
pinchoen==document.images[a]){
    
alert("Es una imagen")
    break;
    }
    }
    
    }
    
    
</script>
    </head>

<body>
<img src="http://www.webareyou.com/logo.gif">


</body>
</html> 
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 30/10/2003, 07:31
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 22 años, 2 meses
Puntos: 55
Gracias, aunque encontré algo en el scriptmaster (eso me pasa por no buscar )
Código:
var clickmessage="¡Botón derecho inhabilitado!"

function disableclick(e) {
if (document.all) {
if (event.button==2||event.button==3) {
if (event.srcElement.tagName=="IMG"){
alert(clickmessage);
return false;
}
}
}
else if (document.layers) {
if (e.which == 3) {
alert(clickmessage);
return false;
}
}
else if (document.getElementById){
if (e.which==3&&e.target.tagName=="IMG"){
alert(clickmessage);
return false
}
}
}

function associateimages(){
for(i=0;i<document.images.length;i++)
document.images[i].onmousedown=disableclick;
}

if (document.all)
document.onmousedown=disableclick;
else if (document.getElementById)
document.onmouseup=disableclick
else if (document.layers)
associateimages()
Funciona en Explorer, Mozilla y Netscape. Ahora voy a tratar de adaptarlo para que no haga el alert y simplemente no salga el menú del botón derecho.

Una forma alternativa de lo que quiero hacer es definir esto en cada imagen:

<img src="..." oncopy="return false" oncontextmenu="return false">

Pero eso require ponerlo en cada imagen, y estoy tratando de buscar el hacerlo de forma automática.

Nota: no sirve quitar el alert, pues sigue saliendo el menú aunque tengamos después el return false.

Un saludo
__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.
  #4 (permalink)  
Antiguo 30/10/2003, 20:17
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 22 años
Puntos: 7
Hmmm... me pregunto que pasaria si reemplazas el alert() por la asignacion de valor a una variable, digamos

i=1;

probaremos...
__________________
No tengo firma ahora... :(
  #5 (permalink)  
Antiguo 31/10/2003, 04:44
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 22 años, 2 meses
Puntos: 55
Mala suerte... no funciona. He probado a ejecutar alguna otra función y no va, solo el alert hace que no salga el menú derecho.
¿Alguna opción?
__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.
  #6 (permalink)  
Antiguo 03/11/2003, 10:14
 
Fecha de Ingreso: septiembre-2003
Mensajes: 34
Antigüedad: 20 años, 7 meses
Puntos: 0
Y por casualidad alguien sabe como hacer para que si alguien hace click derecho sobre un popup con una foto esta se cierre automaticamente?????
Con el dreamweaver he hecho los pop ups, pero no sé como hacer esto, ya k la pagina en si tiene el conocido script para desabilitar el boton derecho , pero con los popups no puedo hacer nada: de ahi si se puede copiar todo, echenle un vistazo a http://www.artesagrado.com/tattoos_kike.html pinchen la foto, se abrirá el popup con la imagen grande , pero como hago para que un click derecho cierre la ventanita??????
__________________
El Mutor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:04.