带有链接区域的可拖动图像
Draggable image with link-areas
我知道我可以通过使用$('#id').draggable();
使图像可拖动但是,如果图像包含一些链接区域,则这些区域不能用于拖动。是否有一种方法可以告诉jQuery在单击(该区域的定义url应该是打开的)和拖动(只是移动整个图像)之间有所区别?
我找到了实现目标的方法。
图像和区域的代码必须放置在div:
<div id="overlayDiv">
<img id="overlayImage" src="/Content/images/Overlay.png" usemap="#overlayMap" />
<map name="overlayMap" id="overlayMap">
[some areas]
</map>
</div>
然后你可以把div设置为可拖动的:
var stopPropagation = false;
$('body').mouseup(function () { stopPropagation = false; });
$('#overlayDiv').draggable({
stop: function () {
stopPropagation = true;
}
});
因为我的区域没有定义url,只有onclick-events,所以我可以检查stopPropagation变量并决定是否忽略点击。
似乎有一个选项可以防止#id中的元素可拖动:http://api.jqueryui.com/draggable/#option-cancel
应用到你的链接元素,它们将是可点击的。
$("#id" ).draggable({ cancel: "a" });
我认为这是不可能的,而且从UI的角度来看也不可取。你没有办法告诉用户点击链接是"打开它"还是"拖动它"。
所以试图改变链接上点击事件的默认行为会让用户感到困惑,这不利于用户体验。
相关文章:
- 无法为HTML5中具有画布和图像的可拖动元素设置“拖动图像”
- 当图像大小大于最小标准时拖动图像
- JavaScript-拖动图像-最多3个
- css:拖动图像不'不适用于Firefox
- Javascript:通过eventListener拖动图像时出现视觉问题
- 实现在画布中拖动图像
- 可拖动图像未进入画布
- 使用 javascript 在移动设备上平滑拖动图像
- 用于制作可滚动和可拖动图像滑块的库
- 如何将宽度和高度设置为可拖动图像
- 拖放后,如果不重新调整大小并在可放置区域中拖动图像
- 为什么使用 JavaScript 拖动图像在 Firefox 中不起作用
- 如何拖动图像并将其拖放到所需位置
- 为什么HTML5拖放拖动图像在隐藏时不显示
- 拖动图像的小部件
- 拖动图像的 Opera 问题如何禁用预览
- 使用jQuery在边界内拖动图像
- 拖动&将自定义HTML拖放设置为拖动图像
- 如何使用纯javascript在屏幕上平滑地拖动图像
- HTML5可拖动图像”;选择“;在firefox中搞砸了我的拖拽javascript