我需要在我的页面上放一张图片。我要禁用图像的拖拽。我尝试了很多方法,但都无济于事。有人能帮我一下吗?
我不想保留那个图像作为背景图像因为我在调整图像的大小。
我需要在我的页面上放一张图片。我要禁用图像的拖拽。我尝试了很多方法,但都无济于事。有人能帮我一下吗?
我不想保留那个图像作为背景图像因为我在调整图像的大小。
当前回答
你可以这样…
document.getElementById('my-image').ondragstart = function() { return false; };
看到它工作(或者不工作)
看起来你正在使用jQuery。
$('img').on('dragstart', function(event) { event.preventDefault(); });
其他回答
很好的解决方案,有个小矛盾, 如果其他人有冲突从其他js库简单启用没有这样的冲突。
var $j = jQuery.noConflict();$j('img').bind('dragstart', function(event) { event.preventDefault(); });
希望这能帮助到一些人。
直接使用这个:ondragstart="return false;"在你的图像标签。
<img src="http://image-example.png" ondragstart="return false;"/>
如果你有多个图像,用<div>标签包装:
<div ondragstart="return false;">
<img src="image1.png"/>
<img scr="image2.png"/>
</div>
适用于所有主流浏览器。
我自己也试过,发现这很有效。
$("img").mousedown(function(){
return false;
});
我确信这将禁用所有图像的拖动。不确定它会影响其他东西。
document.getElementById('#yourImageId').addEventListener('dragstart', function(e) {
e.preventDefault();
});
工作在这个Plunker http://plnkr.co/edit/HbAbJkF0PVLIMjTmEZml
由于我的图像是使用ajax创建的,因此在windows.load上不可用。
$("#page").delegate('img', 'dragstart', function(事件){event. preventdefault ();});
通过这种方式,我可以控制哪个部分阻塞行为,它只使用一个事件绑定,它适用于未来ajax创建的图像,而无需做任何事情。
与jQuery新的绑定:
$(' # '页)。on('dragstart', 'img', function(event) {event. preventdefault ();}); (感谢@ialphan)