我正在开发一个图像裁剪器,想问您以下问题:为了防止在您按下图像上的左键并按住它时出现默认的拖放操作,请尝试移动鼠标,不是吗?如果仅将图片用作 div 框的背景,是否可以跨浏览器?
就像这样:
<div id="theDiv" style="background:url(pic.png) no-repeat;"></div>
你怎么想?可以接受吗?不会太丑吧?还是应该用JS来做?
我正在开发一个图像裁剪器,想问您以下问题:为了防止在您按下图像上的左键并按住它时出现默认的拖放操作,请尝试移动鼠标,不是吗?如果仅将图片用作 div 框的背景,是否可以跨浏览器?
就像这样:
<div id="theDiv" style="background:url(pic.png) no-repeat;"></div>
你怎么想?可以接受吗?不会太丑吧?还是应该用JS来做?
您可以设置自己的鼠标事件,这将是更合乎逻辑的方式。您甚至不需要在每个浏览器的基础上编写代码 AFAIK。此事件处理程序也可用于设置裁剪框。
但是,如果您没有计划扩展这么多,您的方法会更简单。
我也会这样做,没有其他真正的方法(据我所知)做你想做的跨浏览器。
你在使用框架吗?它们中的每一个都没有可靠的“dragstart”实现,可以简单地返回false吗?如我错了请纠正我。
如果仅将图片用作div框的背景,那不是跨浏览器吗?
是的,但你仍然会开始拖累;如果您将指针移到包含文本的页面的一部分,您将选择文本,这可能是您不想要的。
我会坚持使用x.ondragstart=x.onmousedown= function() { return false; };
.
例如,您可以看一下这个,这是一个用纯 JavaScript 编写的简单快速的图像裁剪器。它使用 mousedown 检测拖动开始,使用 mouseup 检测拖动结束。在拖动过程中,它会监听document.onmousemove
事件。
我可能会使用draggable="false"
orondrag="return false"
但你的方法也同样有效。