这里有关于stackoverflow的问题,询问如何防止图像拖动。代码是这样的:
window.addEventListener('mousedown', function(event){ event.preventDefault() }, false);
问题是这会阻止一切。当我点击输入时,它不会聚焦。所以我添加了条件“if event.target.tagName!=='INPUT'”。现在我点击输入,它是焦点,然后我点击其他地方 - 它保持专注,没有模糊发生。
如何防止图像拖动(即使使用背景图像也会在FireFox中发生)并保持所有其他功能正常工作?
编辑:我无法仅在图像上注册事件处理程序。我没有任何图像,我有背景图像的div。此外,点击图像也会模糊输入焦点。
EDIT2:下面有一个不好的解决方案(简化 - 用CoffeeScript编写),但是防止模糊行为然后再自行完成它是没有意义的。
inputs = document.querySelectorAll('input')
for input in inputs
input.blur()
答案 0 :(得分:0)
好像你走在正确的轨道上 - 但不包括输入还包括其他所有内容。为什么不仅仅防止图像上的mousedown事件?
window.addEventListener('mousedown', function(event){
if (event.target.tagName === "IMG") {
event.preventDefault();
}
}, false);