图像裁剪器:如何防止默认拖动和'放下动作?

时间:2009-11-27 11:20:23

标签: javascript crop

我正在开发一个图像裁剪器,并想问你以下问题:当你按下图像上的左键并按住它时,为了防止默认的拖动操作,请尝试移动鼠标,不要如果只是将图片用作div框的背景,那么它是跨浏览器吗?

就像这样:

<div id="theDiv" style="background:url(pic.png) no-repeat;"></div> 

您怎么看?可以接受吗?不太难看?或者应该用JS完成?

6 个答案:

答案 0 :(得分:0)

我会这样做,没有其他方式(据我所知)做你想要做的事情的横向浏览器。

答案 1 :(得分:0)

您使用的是框架吗?是不是每个都有一个可靠的“dragstart”实现可以简单地返回false?如果我错了,请纠正我。

答案 2 :(得分:0)

您可以设置自己的鼠标事件,这将更符合逻辑。您甚至不需要在每个浏览器的基础上编写代码AFAIK。 此事件处理程序也可用于设置裁剪框。

但如果你没有计划扩展这么多,你的方法会更简单。

答案 3 :(得分:0)

  如果只是将图片用作div框的背景,那么它不会是跨浏览器吗?

是的,但你仍然会开始拖累;如果你将指针移动到带有文本的页面的一部分,你将选择你可能不想要的文本。

我坚持使用x.ondragstart=x.onmousedown= function() { return false; };

答案 4 :(得分:0)

我可以使用draggable="false"ondrag="return false",但您的方法也可以。

答案 5 :(得分:0)

您可以查看this,例如,这是一个使用纯JavaScript编写的简单快速的图像裁剪器。它使用mousedown来检测拖动结束的拖动开始和鼠标。在拖动期间,它会侦听document.onmousemove事件。