Necesito poner una imagen en mi página. Quiero deshabilitar el arrastre de esa imagen. Estoy intentando muchas cosas pero no ayuda. Alguien me puede ayudar ?
No quiero mantener esa imagen como imagen de fondo porque estoy cambiando el tamaño de la imagen.
Respuestas:
Te puede gustar esto ...
Véalo funcionar (o no funciona, más bien)
Parece que estás usando jQuery.
fuente
$(document)
lugar de$(window)
$('img').on('dragstart', false);
The value false is also allowed as a shorthand for a function that simply does return false.
Solución solo CSS: uso
pointer-events: none
https://developer.mozilla.org/en-US/docs/CSS/pointer-events
fuente
img
.simplemente agregue draggable = "false" a su etiqueta de imagen:
Sin embargo, IE8 y versiones anteriores no son compatibles.
fuente
fuente
la solución más simple de navegador cruzado es
problema con
es que no funciona en firefox
fuente
Lo usé en mi sitio web en http://www.namdevmatrimony.in/ ¡Funciona como una magia! :)
fuente
Lo intenté y descubrí que esto funciona.
Estoy seguro de que esto desactiva el arrastre de todas las imágenes. No estoy seguro de que afecte a otra cosa.
fuente
<a>
etiqueta? Luego, si el usuario hace clic en la imagen, no se hará clic en el enlace.Ver esta respuesta ; en Chrome y Safari, puede usar el siguiente estilo para deshabilitar el arrastre predeterminado:
Puede intentar seleccionar el usuario para Firefox e IE (10+):
fuente
Puede agregar lo siguiente a cada imagen que no desee arrastrar (dentro de la
img
etiqueta):p.ej
fuente
Este código hace exactamente lo que quieres. Evita que la imagen se arrastre mientras permite otras acciones que dependen del evento.
fuente
Use esto directamente:
ondragstart="return false;"
en su etiqueta de imagen.Si tiene varias imágenes, envueltas en una
<div>
etiqueta:Funciona en todos los principales navegadores.
fuente
Dado que mis imágenes fueron creadas usando ajax, y por lo tanto no están disponibles en windows.load.
$("#page").delegate('img', 'dragstart', function (event) { event.preventDefault(); });
De esta forma puedo controlar qué sección bloquea el comportamiento, solo usa un enlace de evento y funciona para futuras imágenes creadas con ajax sin tener que hacer nada.
Con jQuery nuevo
on
enlace:$('#page').on('dragstart', 'img', function(event) { event.preventDefault(); });
(gracias @ialphan)fuente
img
elementos ilimitados , presente o futuro. Menos intensivo, más robusto.fuente
Gran solución, tenía un pequeño problema con los conflictos. Si alguien más tiene un conflicto de otra biblioteca js, simplemente no habilite ningún conflicto como ese.
Espero que esto ayude a alguien.
fuente
Bueno, no sé si las respuestas aquí han ayudado a todos o no, pero aquí hay un simple truco CSS en línea que definitivamente lo ayudará a deshabilitar el arrastre y la selección de textos en una página HTML.
En su
<body>
etiqueta agregarondragstart="return false"
. Esto deshabilitará el arrastre de imágenes. Pero si también desea deshabilitar la selección de texto, agregueonselectstart="return false"
.El código se verá así:
<body ondragstart="return false" onselectstart="return false">
fuente
Puedes considerar mi solución como la mejor. La mayoría de las respuestas no son compatibles con los navegadores antiguos como Internet Explorer 8 ya e.preventDefault () no será apoyado, así como ondragstart evento. Para hacerlo compatible con el navegador cruzado, debe bloquear el evento mousemove para esta imagen. Ver ejemplo a continuación:
jQuery
sin jQuery
probado y trabajado incluso para IE8
fuente
Establezca las siguientes propiedades CSS en la imagen:
fuente
Bueno, esto es posible, y las otras respuestas publicadas son perfectamente válidas, pero podría adoptar un enfoque de fuerza bruta y evitar el comportamiento predeterminado de
mousedown
imágenes. Lo cual, es comenzar a arrastrar la imagen.Algo como esto:
fuente
Funciona en este Plunker http://plnkr.co/edit/HbAbJkF0PVLIMjTmEZml
fuente
jQuery:
Puede reemplazar el selector de cuerpo con cualquier otro contenedor que los niños que desea evitar sean arrastrados y soltados.
fuente
Puede usar código en línea para esto
Y la segunda opción es usar CSS externo o en la página
Ambos funcionan correctamente Estoy usando CSS externo en este sitio (Haga clic aquí)
fuente
La respuesta es simple:
<body oncontextmenu="return false"/>
- deshabilitar el clic derecho<body ondragstart="return false"/>
- deshabilitar el arrastre del mouse<body ondrop="return false"/>
- deshabilitar la caída del mousefuente
Hice las propiedades css que se muestran aquí, así como supervisé ondragstart con el siguiente javascript:
fuente
Robando de mi propia respuesta , solo agregue un elemento completamente transparente del mismo tamaño sobre la imagen. Cuando cambie el tamaño de su imagen, asegúrese de cambiar el tamaño del elemento.
Esto debería funcionar para la mayoría de los navegadores, incluso los más antiguos.
fuente