【发布时间】:2009-08-31 17:58:57
【问题描述】:
我正在(纯)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)
...
【问题讨论】:
-
太多了,会让人困惑。试想一下,您在页面中有一个 div,并且您希望它不能被浏览器拖动...