Отключить перетаскивание изображения со страницы HTML - PullRequest
188 голосов
/ 18 ноября 2010

Мне нужно разместить изображение на моей странице. Я хочу отключить перетаскивание этого изображения. Я пытаюсь много вещей, но без помощи. Кто-нибудь может мне помочь?

Я не хочу сохранять это изображение как фоновое изображение, потому что я изменяю размер изображения.

Ответы [ 23 ]

254 голосов
/ 18 ноября 2010

Вам может понравиться это ...

document.getElementById('my-image').ondragstart = function() { return false; };

Посмотрите, как это работает (или не работает, скорее)

Кажется, вы используете jQuery.

$('img').on('dragstart', function(event) { event.preventDefault(); });
147 голосов
/ 21 января 2013

Только CSS решение: используйте pointer-events: none

https://developer.mozilla.org/en-US/docs/CSS/pointer-events

114 голосов
/ 27 февраля 2013

просто добавьте draggable = "false" к тегу изображения:

<img draggable="false" src="image.png">

IE8 и ниже не поддерживает, однако.

41 голосов
/ 18 ноября 2010
window.ondragstart = function() { return false; } 
28 голосов
/ 11 апреля 2017

простейшее кросс-браузерное решение -

<img draggable="false" ondragstart="return false;" src="..." />

проблема с

img {
 -moz-user-select: none;
 -webkit-user-select: none;
 -ms-user-select: none;
 user-select: none;
 -webkit-user-drag: none;
 user-drag: none;
 -webkit-touch-callout: none;
}

это то, что он не работает в Firefox

24 голосов
/ 10 марта 2016
img {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  user-drag: none;
  -webkit-touch-callout: none;
}

Я использовал его на своем сайте в http://www.namdevmatrimony.in/ Это работает как волшебство !!!:)

24 голосов
/ 18 ноября 2010

Я попробовал себя и обнаружил, что это работает.

$("img").mousedown(function(){
    return false;
});

Я уверен, что это отключает перетаскивание всех изображений.Не уверен, что это влияет на что-то еще.

13 голосов
/ 13 сентября 2013

См. ответ ; в Chrome и Safari вы можете использовать следующий стиль для отключения перетаскивания по умолчанию:

-webkit-user-drag: auto | element | none;

Вы можете попробовать Выбор пользователя для Firefox и IE (10 +):

-moz-user-select: none | text | all | element
-ms-user-select: none | text | all | element
11 голосов
/ 01 августа 2012

Вы можете добавить следующее к каждому изображению, которое не хотите перетаскивать (внутри тега img):

onmousedown="return false;"

например

img src="Koala.jpg" onmousedown="return false;"
10 голосов
/ 03 августа 2012

Этот код делает именно то, что вы хотите.Он предотвращает перетаскивание изображения, а также позволяет выполнять любые другие действия, зависящие от события.

$("img").mousedown(function(e){
    e.preventDefault()
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...