Foros del Web » Programando para Internet » Javascript »

Deshabilitar click raton???

Estas en el tema de Deshabilitar click raton??? en el foro de Javascript en Foros del Web. Saludos!! Tengo el siguiente script: Cita: <script type="text/javascript"> document.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP | Event.CLICK); document.onmousedown = clickIE4; document.onmouseup = clickIE4; document.onclick = clickIE4; function clickIE4() { ...
  #1 (permalink)  
Antiguo 22/01/2013, 15:01
 
Fecha de Ingreso: octubre-2010
Ubicación: Oviedo
Mensajes: 20
Antigüedad: 13 años, 6 meses
Puntos: 0
Pregunta Deshabilitar click raton???

Saludos!!

Tengo el siguiente script:

Cita:
<script type="text/javascript"> document.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP | Event.CLICK); document.onmousedown = clickIE4; document.onmouseup = clickIE4; document.onclick = clickIE4; function clickIE4() { return false; } </script>
Su función es que bloquear el click izquierdo del ratón.

El problema es que solo funciona en Google Chrome, en Firefox no lo he probado, pero en IE no funciona.

¿Como podría ser util para los demas navegadores?

Gracias
  #2 (permalink)  
Antiguo 22/01/2013, 15:34
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Deshabilitar click raton???

Para ahorrarte validaciones de todos los navegadores puedes usar jQuery

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #3 (permalink)  
Antiguo 22/01/2013, 18:03
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Deshabilitar click raton???

Cita:
Iniciado por quink3216 Ver Mensaje
Saludos!!

Tengo el siguiente script:



Su función es que bloquear el click izquierdo del ratón.

El problema es que solo funciona en Google Chrome, en Firefox no lo he probado, pero en IE no funciona.

¿Como podría ser util para los demas navegadores?

Gracias
Se puede saber cual es la idea?
SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #4 (permalink)  
Antiguo 23/01/2013, 03:33
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
Respuesta: Deshabilitar click raton???

Buenas!

Iba a crear un tema similar... pero creo que para no cargar el foro aprovecharé un poco este topic :-p (si no os importa).

Creo que el motivo de la consulta es el mismo que quiero hacer yo... Os cuento mi caso:

Al iniciar sesión en mi web, si has hecho algo mal (usuario inexistente, password incorrecto, etc) sale un aviso, y a la vez el resto del contenido queda translúcido (opacity=.5).

Pero ahí es donde me falla esto... y es que se puede seguir haciendo click en cualquier elemento... y me gustaría que no se pudiera...

Estaré pendiente de la solución, a la vez que investigo por google (si doy con algo lo posteo!)

Saludos

---
EDIT: encontrada solución:

Código Javascript:
Ver original
  1. // Definimos si se debe mostrar el mensaje    
  2. var mostrarMensaje = true;    
  3. // Definimos el mensaje a mostrar    
  4. var mensaje = "Botones del Mouse deshabilitados";        
  5. /* Creamos una función para que se ejecute ante el evento onmousedown    es decir, cada vez que se presiona un botón del mouse, ya sea el izquierdo,    el derecho o la rueda */
  6. function noClick() {
  7.   if (mostrarMensaje) {
  8.     alert(mensaje);
  9.   }
  10. }      
  11.  
  12. // Llamamos a la función cada vez que se presiona un botón        
  13. document.onmousedown = noClick;        
  14.  
  15. /* Ante el evento oncontextmenu creamos un nuevo objeto (función)        para que anule el menú contextual del navegador */
  16. document.oncontextmenu = new Function("return false");

Testeado en:

- Chrome
- IE 10, 9, 8, 7, 5
- FF
- Opera
- Safari

funciona en todos.

Saludos!

Última edición por DoHITB; 23/01/2013 a las 03:44 Razón: Solución encontrada
  #5 (permalink)  
Antiguo 23/01/2013, 03:56
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 7 meses
Puntos: 188
Respuesta: Deshabilitar click raton???

Como dice jonni, con jQuery tienes esto:

http://api.jquery.com/unbind/

así haces $('#idBoton').unbind(); y debería quitarte todos los handlers asociados.

Si tienes un input tipo submit en el propio html ponle además un onclick="return false"
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #6 (permalink)  
Antiguo 23/01/2013, 06:01
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: Deshabilitar click raton???

Convengamos que si es por seguridad, con javascript no es muy seguro. Además la pregunta original decia bloquear el botón izq (asumamos que es el primario), pero sin indicar las circunstancias.
La técnica de una capa haciendo "overlay" con css, me parece sigue siendo más atractiva y no requiere de jQuery
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2.    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  5. <title>Overlay</title>
  6. <style type="text/css">
  7. /*<![CDATA[*/
  8. html,body{
  9. height: 100%;
  10. margin: 0;
  11. padding: 0;
  12. border: none;
  13. }
  14. #ocultar{
  15. display: none;
  16. position:fixed;
  17. background:#000;
  18. width: 100%;
  19. height: 100%;
  20. opacity: 0.8;
  21. margin: 0;
  22. padding: 0;
  23. border: none;
  24. top:0;
  25. left:0;
  26. z-index: 999;
  27. text-align: center;
  28. padding-top: 200px;
  29. overflow:hidden;
  30. }
  31.  
  32. #cerrar{
  33. background: red;
  34. color: #FFF;
  35. border: solid red 2px;
  36. border-radius: 5px;
  37. position: absolute;
  38. z-index: 1000;
  39. text-align: center;
  40. width: 100px;
  41. padding: 8px;
  42. top: 40%;
  43. left: 50%;
  44. margin-left: -50px;
  45. cursor: pointer;
  46. }
  47.  
  48. /*]]>*/
  49. <script type="text/javascript">
  50. //<![CDATA[
  51.  
  52. function ocultar(){
  53. document.getElementById('ocultar').style.display ="block";
  54. document.oncontextmenu = new Function("return false");
  55. }
  56. function desactivar(){
  57. document.getElementById('hola').disabled = true;
  58. }
  59. //]]>
  60.  
  61. </head>
  62. <div id="ocultar">
  63. <div onclick="this.parentNode.style.display ='none';document.oncontextmenu= 'return true';" id="cerrar">mensaje...<br/><small>cerrar</small>
  64. </div>
  65. </div>
  66. <button onclick="ocultar();">generar error loguin</button>
  67. <h1>xxxx</h1>
  68. <h2>xxxxx</h2>
  69. <button onclick="desactivar()">input disable</button>
  70. <form action="#">
  71. <input type="text" value="hola" name="hola" id="hola" />
  72. </form>
  73. </body>
  74. </html>

Es crossbrowser

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Etiquetas: deshabilitar, mouse
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 01:31.