Tengo un div en una página HTML y cada vez que presiono el mouse y lo muevo, se muestra que el cursor "no se puede soltar" como si selecciona algo. ¿Hay alguna manera de desactivar la selección? Traté de CSS user-select con ninguno sin éxito.Impedir selección en HTML
Respuesta
Las variaciones de propiedad de user-select
trabajarán en la mayoría de los navegadores modernos:
*.unselectable {
-moz-user-select: -moz-none;
-khtml-user-select: none;
-webkit-user-select: none;
/*
Introduced in IE 10.
See http://ie.microsoft.com/testdrive/HTML5/msUserSelect/
*/
-ms-user-select: none;
user-select: none;
}
para IE y Opera < 10, que tendrá que utilizar el atributo unselectable
del elemento que desea ser seleccionable. Puede hacer esto usando un atributo en HTML:
<div id="foo" unselectable="on" class="unselectable">...</div>
Por desgracia, esta propiedad no es hereditaria, lo que significa que tiene que poner un atributo en la etiqueta de inicio de cada elemento dentro de la <div>
. Si esto es un problema, en su lugar podría usar JavaScript para hacer esto de forma recursiva para los descendientes de un elemento:
function makeUnselectable(node) {
if (node.nodeType == 1) {
node.setAttribute("unselectable", "on");
}
var child = node.firstChild;
while (child) {
makeUnselectable(child);
child = child.nextSibling;
}
}
makeUnselectable(document.getElementById("foo"));
¿Posee algún tipo de imagen transparente que su selección? Por lo general, el ícono "no puede caer" aparece cuando arrastra una imagen. De lo contrario, normalmente selecciona texto cuando se arrastra. Si es así, puede que tenga que poner la imagen detrás de todo utilizando z-index.
Utilizo cancelBubble=true
y stopPropagation()
con el mouse hacia abajo y muevo los controladores.
Lo que me enganchó es que lo necesita en _both_ el mouse abajo y mover manejadores, ¡no solo el movimiento uno! –
Es parecer CSS user-select no impiden que arrastre la imagen y soltar ... así ..
HTML:
<img src="ico.png" width="20" height="20" alt="" unselectable="on" /> Blabla bla blabla
CSS:
* {
user-select: none;
-khtml-user-select: none;
-o-user-select: none;
-moz-user-select: -moz-none;
-webkit-user-select: none;
}
::selection { background: transparent;color:inherit; }
::-moz-selection { background: transparent;color:inherit; }
JS:
$(function(){
$('*:[unselectable=on]').mousedown(function(event) {
event.preventDefault();
return false;
});
});
¿Podemos usar este código predeterminado para todas las imágenes? –
Puede usar el selector "img", pero tenga cuidado con "event.preventDefault();" porque ningún otro evento asociado con "mousedown" funcionará en ellos en su página ... – molokoloco
event.preventDefault()
parece que hacer el truco (probado en IE7-9 y Chrome):
jQuery('#slider').on('mousedown', function (e) {
var handler, doc = jQuery(document);
e.preventDefault();
doc.on('mousemove', handler = function (e) {
e.preventDefault();
// refresh your screen here
});
doc.one('mouseup', function (e) {
doc.off('mousemove', handler);
});
});
Gracias por esto, buscó por un rato la forma correcta de bloquear una lista de selección I Estaba bloqueando al hacer clic, ya que los valores desactivados no publicar ..... jaja – thekevshow
- 1. selección Impedir Shift + Clic
- 2. Impedir selección de texto en clics rápidos de botón
- 3. Impedir que jQuery escape entidades html
- 4. Impedir que se agreguen etiquetas html
- 5. Impedir selección de texto después de hacer doble clic
- 6. Impedir tabstop en Un elemento (enlace de anclaje) en HTML
- 7. Impedir que los rieles conviertan caracteres especiales en entidades HTML
- 8. Impedir que se modifique la acción del formulario HTML
- 9. ¿Impedir que el usuario anule la selección de un elemento en un ListBox?
- 10. cómo ocultar la selección del botón HTML?
- 11. Insertar HTML después de una selección
- 12. ¿Obtener selección de página incluyendo HTML?
- 13. barra de desplazamiento de selección html
- 14. Selección de HTML Opción desplegable Z-index
- 15. Selección de comentarios HTML con jQuery
- 16. Impedir el reenvío de formularios
- 17. Detectar cambios programáticos en un cuadro de selección html
- 18. Imagen con una etiqueta de selección en html
- 19. Selección html interior en un selector de jQuery
- 20. HTML Las casillas de verificación en la lista de selección
- 21. JavaScript en iOS: abrir un elemento de selección HTML
- 22. Selección de pares de elementos HTML en jQuery
- 23. alineando elementos de selección HTML en una línea
- 24. Impedir el desplazamiento en el navegador del dispositivo móvil, sin impedir el enfoque de la entrada
- 25. Java, xml, XSLT: Impedir DTD-Validación
- 26. ¿Impedir la ejecución de archivos php cargados?
- 27. Impedir copiar texto en la página web
- 28. Impedir la creación de subprocesos en AppDomain
- 29. Impedir instancias de formularios múltiples
- 30. jQuery: Impedir la tecla enter
Ah, parece que Firefox 3.6 solo funciona con el prefijo -moz-. – Tower
no está seleccionado, pero aún se ha copiado en el portapapeles (de acuerdo con las especificaciones de MDC en http://goo.gl/5P8uH) – ithkuil
@ithkuil: Interesante. Parece que '-moz-none' es el camino a seguir. Enmendaré mi respuesta. –