Désactiver le glisser une image à partir d'une page HTML
J'ai besoin de mettre une image dans ma page. Je veux désactiver le déplacement de l'image. Je suis en train d'essayer beaucoup de choses, mais aucune aide. Quelqu'un peut-il m'aider ?
Je ne veux pas garder cette image comme une image de fond d'écran parce que je suis le redimensionnement de l'image.
- Il n'y a pas de problème pour moi si l'utilisateur enregistre et fait tout ce qu'il veut. Ma seule exigence est de ne pas glisser cette image.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez comme ça...
Voir qu'il fonctionne (ou ne fonctionne pas, plutôt)
Il semble que vous êtes à l'aide de jQuery.
$(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.
CSS seule solution: utiliser
pointer-events: none
https://developer.mozilla.org/en-US/docs/CSS/pointer-events
img
.cursor: default
:'(juste ajouter draggable="false" à votre image tag:
IE8 et moins ne supporte pas cependant.
plus simple navigateur croix solution est
problème avec
est qu'il ne fonctionne pas dans firefox
Je me suis essayé et trouvé ce qui est de travail.
Je suis sûr que cela désactive le déplacement de toutes les images. Pas sûr qu'il les effets de quelque chose d'autre.
<a>
tag? Ensuite, si l'utilisateur clique sur l'image, le lien n'aurais pas cliqué.$('img').mousedown(false)
plus courte. Et @SeinopSys Quel navigateur vous utilisez? Il fonctionne toujours à tout le moins pour moi (FF v59.0.2). N'ai pas testé avec d'autres navigateurs, mais voici un violon pour le test.Je l'ai utilisé sur mon site web à http://www.namdevmatrimony.in/
Il fonctionne comme une magie!!! 🙂
Voir ce réponse; dans Chrome et Safari, vous pouvez utiliser le style suivant pour désactiver par défaut le faisant glisser:
Vous pouvez essayer de l'utilisateur de sélectionner pour Firefox et IE(10+):
Vous pouvez ajouter les éléments suivants pour chaque image que vous ne voulez pas être déplaçable (à l'intérieur de la
img
tag):par exemple
Ce code fait exactement ce que vous voulez. Il empêche l'image de glisser tout en permettant à d'autres actions qui dépendent de l'événement.
Utiliser directement cette:
ondragstart="return false;"
dans votre balise image.Si vous avez plusieurs images, enroulée sur un
<div>
tag:Fonctionne dans tous les principaux navigateurs.
Depuis mes images ont été créées à l'aide d'ajax, et n'est donc pas disponible sur windows.de la charge.
$("#page").delegate('img', 'dragstart', function (event) { event.preventDefault(); });
De cette façon, je peux contrôler la section qui bloque le comportement, il utilise uniquement un événement contraignant et qu'il travaille pour l'avenir ajax créé des images sans avoir à faire quoi que ce soit.
Avec jQuery nouveau
on
de liaison:$('#page').on('dragstart', 'img', function(event) { event.preventDefault(); });
(merci @ialphan)
img
éléments, présents ou futurs. Moins intensive, plus robuste.Grande solution, avait un petit problème avec les conflits,
Si quelqu'un a des conflits à partir d'autres bibliothèque js il vous suffit d'activer pas de conflit comme si.
Espère que cela aide quelqu'un à sortir.
Eh bien, je ne sais pas si les réponses ici ont aidé à tout le monde ou pas, mais voici un simple CSS truc qui serait certainement vous aider à désactiver les faisant glisser et en sélectionnant des textes sur une page HTML.
Sur votre
<body>
tag ajouterondragstart="return false"
. Cela va désactiver le faisant glisser des images. Mais si vous aussi vous voulez désactiver la sélection de texte, puis ajouteronselectstart="return false"
.Le code ressemblera à ceci:
<body ondragstart="return false" onselectstart="return false">
Vous pouvez envisager de ma solution la meilleure. La plupart des réponses ne sont pas compatible avec les anciens navigateurs comme IE8 depuis e.preventDefault() ne sera pas pris en charge ainsi que ondragstart événement. Pour faire de la croix-navigateur compatible vous avez à bloc mousemove événement pour cette image. Voir l'exemple ci-dessous:
jQuery
sans jQuery
testé et a travaillé, même pour IE8
Définir les propriétés CSS suivantes à l'image:
Bien, c'est possible, et les autres réponses postées sont parfaitement valables, mais vous pouvez prendre une approche par force brute et de prévenir le comportement par défaut de
mousedown
sur les images. Qui, est de commencer à glisser l'image.Quelque chose comme ceci:
Travaille dans ce Plunker http://plnkr.co/edit/HbAbJkF0PVLIMjTmEZml
jQuery:
Vous pouvez remplacer le corps sélecteur avec tout autre contenant que les enfants vous voulez éviter d'être glissés et déposés.
Réponse est simple:
<body oncontextmenu="return false"/>
- désactiver le clic droit<body ondragstart="return false"/>
- désactiver la souris en faisant glisser<body ondrop="return false"/>
de désactiver la souris tomberJ'ai fait la propriétés css montré ici, ainsi que de surveiller le ondragstart avec le code javascript suivant:
De voler de mes propres réponse, il suffit d'ajouter un élément totalement 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 âgés.
Vous pouvez utiliser le code en ligne pour cette
HTML:
Et la deuxième option est l'utilisation extérieure ou sur la page css
CSS:
HTML:
Les deux fonctionnent Correctement
Je m à l'aide de css externe, sur ce site (Cliquez Ici)