J'ai besoin de mettre une image sur ma page. Je souhaite désactiver le glissement de cette image. J'essaie beaucoup de choses mais sans aide. Quelqu'un peut-il m'aider?
Je ne veux pas conserver cette image comme image d'arrière-plan car je redimensionne l'image.
Réponses:
Vous pouvez aimer ça ...
Le voir fonctionner (ou ne pas fonctionner, plutôt)
Il semble que vous utilisiez jQuery.
la source
$(document)
au lieu de$(window)
$('img').on('dragstart', false);
The value false is also allowed as a shorthand for a function that simply does return false.
Solution CSS uniquement: utiliser
pointer-events: none
https://developer.mozilla.org/en-US/docs/CSS/pointer-events
la source
img
.ajoutez simplement draggable = "false" à votre tag d'image:
Cependant, IE8 et les versions antérieures ne sont pas compatibles.
la source
la source
la solution de navigateur croisée la plus simple est
problème avec
est qu'il ne fonctionne pas dans Firefox
la source
Je l'ai utilisé sur mon site Web à http://www.namdevmatrimony.in/ Cela fonctionne comme une magie !!! :)
la source
Je me suis essayé et j'ai trouvé que cela fonctionnait.
Je suis sûr que cela désactive le glissement de toutes les images. Pas sûr que cela affecte autre chose.
la source
<a>
balise? Ensuite, si l'utilisateur clique sur l'image, le lien ne sera pas cliqué.Voir cette réponse ; dans Chrome et Safari, vous pouvez utiliser le style suivant pour désactiver le glissement par défaut:
Vous pouvez essayer la sélection par l' utilisateur pour Firefox et IE (10+):
la source
Vous pouvez ajouter ce qui suit à chaque image que vous ne voulez pas faire glisser (à l'intérieur de la
img
balise):par exemple
la source
Ce code fait exactement ce que vous voulez. Il empêche l'image de glisser tout en autorisant toutes autres actions qui dépendent de l'événement.
la source
Utilisez directement ceci:
ondragstart="return false;"
dans votre balise d'image.Si vous avez plusieurs images, enveloppées sur une
<div>
balise:Fonctionne dans tous les principaux navigateurs.
la source
Depuis mes images ont été créées en utilisant ajax, et donc pas disponibles sur windows.load.
$("#page").delegate('img', 'dragstart', function (event) { event.preventDefault(); });
De cette façon, je peux contrôler quelle section bloque le comportement, il n'utilise qu'une seule liaison d'événement et cela fonctionne pour les futures images créées ajax sans avoir à faire quoi que ce soit.
Avec la nouvelle
on
liaison jQuery :$('#page').on('dragstart', 'img', function(event) { event.preventDefault(); });
(merci @ialphan)la source
img
éléments illimités , présents ou futurs. Moins intensif, plus robuste.la source
Excellente solution, avait un petit problème avec les conflits, si quelqu'un d'autre a un conflit avec une autre bibliothèque js, n'activez simplement aucun conflit comme celui-ci.
J'espère que cela aide quelqu'un.
la source
Eh bien, je ne sais pas si les réponses ici ont aidé tout le monde ou non, mais voici une astuce CSS en ligne simple qui vous aiderait certainement à désactiver le glissement et la sélection de textes sur une page HTML.
Sur votre
<body>
tag, ajoutezondragstart="return false"
. Cela désactivera le glissement des images. Mais si vous souhaitez également désactiver la sélection de texte, ajoutez-leonselectstart="return false"
.Le code ressemblera à ceci:
<body ondragstart="return false" onselectstart="return false">
la source
Vous pouvez considérer ma solution comme la meilleure. La plupart des réponses ne sont pas compatibles avec les anciens navigateurs comme IE8 car e.preventDefault () ne sera pas pris en charge ainsi que l' événement ondragstart . Pour le faire compatible avec plusieurs navigateurs, vous devez bloquer l' événement mousemove pour cette image. Voir l'exemple ci-dessous:
jQuery
sans jQuery
testé et travaillé même pour IE8
la source
Définissez les propriétés CSS suivantes sur l'image:
la source
Eh bien, cela est possible, et les autres réponses publiées sont parfaitement valides, mais vous pouvez adopter une approche par force brute et empêcher le comportement par défaut de
mousedown
sur les images. Ce qui est de commencer à faire glisser l'image.Quelque chose comme ça:
la source
Fonctionne dans ce Plunker http://plnkr.co/edit/HbAbJkF0PVLIMjTmEZml
la source
jQuery:
Vous pouvez remplacer le sélecteur de corps par tout autre conteneur que les enfants que vous souhaitez empêcher d'être glissé et déposé.
la source
Vous pouvez utiliser le code en ligne pour cela
Et la deuxième option est d'utiliser des CSS externes ou sur la page
Les deux fonctionnent correctement J'utilise des CSS externes sur ce site (cliquez ici)
la source
La réponse est simple:
<body oncontextmenu="return false"/>
- désactiver le clic droit<body ondragstart="return false"/>
- désactiver le glissement de la souris - désactiver le déplacement de la<body ondrop="return false"/>
sourisla source
J'ai fait les propriétés css montrées ici ainsi que surveiller ondragstart avec le javascript suivant:
la source
En volant ma propre réponse , il suffit d'ajouter un élément complètement transparent de la même taille sur l'image. Lorsque vous redimensionnez votre image, assurez-vous de redimensionner l'élément.
Cela devrait fonctionner pour la plupart des navigateurs, même les plus anciens.
la source