这里在stackoverflow是一个问题,要求如何防止图像拖动。代码是这样的:防止图像拖动但其他任何东西
window.addEventListener('mousedown', function(event){ event.preventDefault() }, false);
问题是这可以防止一切。当我点击输入时,它不会集中注意力。所以我添加了一个条件“if event.target.tagName!=='INPUT'”。现在我点击输入,它是专注的,然后我点击了其他地方 - 它保持专注,没有模糊发生。
如何防止图像拖动(即使在背景图像中发生在FireFox中)并保持所有其他功能正常工作?
编辑:我不能只在图像上注册事件处理程序。我没有任何图像,我有div背景图片。此外,点击图像也应该模糊输入焦点。
编辑2:糟糕的解决方案在下面(简化 - 用CoffeeScript编写),但它没有任何意义,以防止模糊行为,然后再次对我自己做。
inputs = document.querySelectorAll('input')
for input in inputs
input.blur()
通过仅在图像上设置事件处理程序而不是在整个窗口上。 – PeeHaa 2012-08-09 16:41:28