首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在火狐中使用JavaScript拖拽图片不起作用?

为什么在火狐中使用JavaScript拖拽图片不起作用?
EN

Stack Overflow用户
提问于 2012-06-14 21:01:15
回答 1查看 394关注 0票数 0

我使用下面的代码来拖动图像(#StndSoln1)。它在Chrome和所有浏览器上都能完美工作,但在Firefox上就不行了。这里的startDrag()是我附加到mousedown事件侦听器的函数。谁能帮帮我。

代码语言:javascript
复制
function initialFunction(){


document.getElementById("StndSoln1").addEventListener('mousedown',startDrag,false);
document.getElementById("StndSoln1").addEventListener('mousemove',drag,false);
document.getElementById("StndSoln1").addEventListener('mouseup',stopDrag,false);


}


function startDrag()

{

if (!moveFlag){


currentTraget=document.getElementById("StndSoln1");

offsetX=currentTraget.offsetLeft;
offsetY=currentTraget.offsetTop;
ImgPlaced=false;    
moveFlag=true;

x=window.event.clientX;
y=window.event.clientY; 

event.preventDefault();
}
}

   // Fn for drag the current target object...
  function drag(){

if (moveFlag && !ImgPlaced){    
    currentTraget.style.left=(offsetX+window.event.clientX-x)+"px";
    currentTraget.style.top=(offsetY+window.event.clientY-y)+"px";
}
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-16 03:55:27

我实际上遇到了类似的问题,所以即使没有您正在使用的代码,我也可以尝试帮助您。

看,Firefox开发人员有了这个聪明的想法,当您拖动图像时,您可以将其“移动”,并可能将其放在资源管理器窗口中,以便快速轻松地下载它,或者到选项卡栏中在新选项卡中打开图像。这样做的明显缺点是,它导致了其他浏览器所没有的默认行为。

简单的解决方案是确保您的所有事件都正确地取消了默认操作(event.preventDefaultreturn false等)。如果这也失败了,那么应该使用带有background-image<div>元素,而不是<img>元素。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11033604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档