Мне нужно разместить изображение на моей странице. Я хочу отключить перетаскивание этого изображения. Я пытаюсь много вещей, но без помощи. Кто-нибудь может мне помочь?
Я не хочу сохранять это изображение как фоновое изображение, потому что я изменяю размер изображения.
Ответы:
Вам может понравиться это ...
Видите это работает (или не работает, скорее)
Кажется, вы используете JQuery.
источник
$(document)
вместо$(window)
$('img').on('dragstart', false);
The value false is also allowed as a shorthand for a function that simply does return false.
Единственное решение CSS: используйте
pointer-events: none
https://developer.mozilla.org/en-US/docs/CSS/pointer-events
источник
img
.просто добавьте draggable = "false" в тег изображения:
IE8 и ниже не поддерживает, однако.
источник
источник
Простейшее кросс-браузерное решение
проблема с
это то, что он не работает в Firefox
источник
Я использовал его на своем сайте по адресу http://www.namdevmatrimony.in/ Это работает как волшебство !!! :)
источник
Я попробовал себя и обнаружил, что это работает.
Я уверен, что это отключает перетаскивание всех изображений. Не уверен, что это влияет на что-то еще.
источник
<a>
тега? Тогда, если пользователь нажимает на изображение, ссылка не будет нажата.Смотрите этот ответ ; в Chrome и Safari вы можете использовать следующий стиль для отключения перетаскивания по умолчанию:
Вы можете попробовать выбрать пользователя для Firefox и IE (10+):
источник
Вы можете добавить следующее к каждому изображению, которое не хотите перетаскивать (внутри
img
тега):например
источник
Этот код делает именно то, что вы хотите. Это предотвращает перетаскивание изображения, позволяя любые другие действия, которые зависят от события.
источник
Непосредственно используйте это:
ondragstart="return false;"
в вашем теге изображения.Если у вас есть несколько изображений, обернутых в
<div>
тег:Работает во всех основных браузерах.
источник
Так как мои изображения были созданы с использованием ajax, и поэтому недоступны на windows.load.
$("#page").delegate('img', 'dragstart', function (event) { event.preventDefault(); });
Таким образом, я могу контролировать, какой раздел блокирует поведение, он использует только одну привязку событий и работает для будущих изображений, созданных ajax, без необходимости что-либо делать.
С новым
on
связыванием jQuery :$('#page').on('dragstart', 'img', function(event) { event.preventDefault(); });
(спасибо @ialphan)источник
img
элементов, настоящих или будущих. Наименее интенсивный, самый крепкий.источник
Отличное решение, имел одну небольшую проблему с конфликтами, если у кого-то еще есть конфликт из другой библиотеки js, просто включите никакой конфликт, как это.
Надеюсь, это поможет кому-то.
источник
Ну, я не знаю, помогли ли ответы здесь всем или нет, но вот простой встроенный трюк CSS, который определенно поможет вам отключить перетаскивание и выбор текстов на странице HTML.
К вашему
<body>
тегу добавьтеondragstart="return false"
. Это отключит перетаскивание изображений. Но если вы также хотите отключить выделение текста, добавьтеonselectstart="return false"
.Код будет выглядеть так:
<body ondragstart="return false" onselectstart="return false">
источник
Вы можете считать мое решение лучшим. Большинство ответов не совместимы со старыми браузерами, такими как IE8, так как не поддерживается e.preventDefault () , а также событие ondragstart . Чтобы сделать это совместимым с браузером, вы должны заблокировать событие mousemove для этого изображения. Смотрите пример ниже:
JQuery
без jQuery
проверено и работает даже для IE8
источник
Установите следующие свойства CSS для изображения:
источник
Что ж, это возможно, и другие опубликованные ответы совершенно верны, но вы можете использовать метод грубой силы и предотвратить поведение по умолчанию для
mousedown
изображений. Который, чтобы начать перетаскивание изображения.Что-то вроде этого:
источник
Работает в этом Plunker http://plnkr.co/edit/HbAbJkF0PVLIMjTmEZml
источник
Вы можете использовать встроенный код для этого
И второй вариант - использовать внешний или на странице CSS
Оба работают правильно Я использую внешние CSS на этом сайте (нажмите здесь)
источник
JQuery:
Вы можете заменить селектор тела любым другим контейнером, который дети не хотят перетаскивать.
источник
Ответ прост:
<body oncontextmenu="return false"/>
- отключить щелчок правой кнопкой мыши<body ondragstart="return false"/>
- отключить перетаскивание мыши<body ondrop="return false"/>
- отключить падение мышиисточник
Я сделал свойства CSS, показанные здесь, а также монитор ondragstart со следующим javascript:
источник
Кража из моего собственного ответа , просто добавьте совершенно прозрачный элемент того же размера поверх изображения. При изменении размера изображения обязательно измените размер элемента.
Это должно работать для большинства браузеров, даже более старых.
источник