在 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()