我正在实施一个拖累和放大器删除(普通)JavaScript中的脚本。一切都好,除了一件事。例如,在Firefox(可能不仅仅是那里)中,如果你第二次拖动一个对象,它就会被拖动为一个内置的浏览器功能(为了便于拖放和放大图像保存到桌面,例如,我认为) 。那么这种废墟就是我的剧本。
事情是,我知道这是可能的,我甚至以前做过,但这就像很长一段时间,我通过反复试验让它工作,只是输入了focus()和blur()放置'直到它似乎真的失去了焦点。
所以,如果有人知道如何为我清除这一点,那么他就是我个人的英雄。拖动对象上的模糊()? focus()在另一个?等
谢谢!
//好的,关于此的代码部分将是:
...
this.handle.onmousedown = function(e)
{
self.startDragging(e);
};
this.handle.onmouseup = function(e)
{
self.stopDragging(e);
};
setInterval(function(){self.animate()}, 25);
...
startDragging: function(e)
{
this.dragging = true;
},
stopDragging: function(e)
{
this.dragging = false;
},
animate: function()
{
if(this.dragging)
...
答案 0 :(得分:1)
除非我误解了您的问题,否则请尝试event.preventDefault();在你的mousedown事件监听器中。如果您能提供代码片段以向我们展示如何实施拖放操作,那将会有所帮助。
编辑:通过您的实施,此类内容应该有效:
this.handle.onmousedown = function(e) {
if(!e) e = window.event;
if(e.preventDefault) e.preventDefault();
else e.returnValue = false;
self.startDragging(e);
};
但是,我建议改为使用事件监听器。