HTML5 - 使用 div 和内部图像拖放

发布于 2024-11-29 01:03:50 字数 527 浏览 0 评论 0原文

我有这种类型的元素:

<div draggable="true" id="item" style="margin:20px;background:red;height:400px;width:400px;">
    <a href="#" target="_blank">
        <img style="margin:40px;" src="http://www.placekitten.com/100/100" alt="">
    </a>
</div>

我希望能够:

  1. 拖动整个 div,即使我单击 /anchorimage(拖动之前)。
  2. 仍能正常响应锚点/图像点击(无需拖动)。

现在,当我单击图像时,只会拖动图像。

这是一个小提琴: http://jsfiddle.net/M5tBd/

I have this type of element:

<div draggable="true" id="item" style="margin:20px;background:red;height:400px;width:400px;">
    <a href="#" target="_blank">
        <img style="margin:40px;" src="http://www.placekitten.com/100/100" alt="">
    </a>
</div>

I want to be able to:

  1. Drag the whole div, even if I click on the /anchorimage (before dragging).
  2. Still respond normally to an anchor/image click (without a drag).

Right now, only the image is dragged when I click on it.

Here's a fiddle: http://jsfiddle.net/M5tBd/

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夏末 2024-12-06 01:03:50

根据 HTML5 编辑器草案规范,带有 href 元素的图像和锚点都是以下元素:默认可拖动。您的锚点可能正在捕获 Dragstart 事件,从而阻止 div 获取它。尝试在 元素上设置draggable="false"。

<div draggable="true" id="item" style="margin:20px;background:red;height:400px;width:400px;">
<a href="#" target="_blank" draggable="false">
    <img style="margin:40px;" src="http://www.placekitten.com/100/100" alt="" draggable="false">
</a>

你的小提琴甚至无法在 Ubuntu 下的 Chrome 中为我拖动 img 元素,所以除此之外你可能还会遇到其他问题。

As per the HTML5 Editor's Draft spec, Images and Anchors with a href element are both elements that are, by default draggable. Your anchor is probably capturing the dragstart event, preventing the div from ever getting it. Try setting draggable="false" on your <img> and <a> elements.

<div draggable="true" id="item" style="margin:20px;background:red;height:400px;width:400px;">
<a href="#" target="_blank" draggable="false">
    <img style="margin:40px;" src="http://www.placekitten.com/100/100" alt="" draggable="false">
</a>

Your fiddle doesn't even work dragging the img element for me in Chrome under Ubuntu, so you may have other issues besides this.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文