美文网首页
拖动属性draggable

拖动属性draggable

作者: 方_糖 | 来源:发表于2021-07-12 17:46 被阅读0次
一个奇怪的现象:代码如下,设置div是可拖动的,拖动div时会触发dragStart事件
        <div draggable="true" ondragstart="dragStart(event)">
            <a href="#">xxxxx</a>
        </div>

        <script>
            function dragStart(e) {
                console.log(e.target)
            }
        </script>

奇怪的现象如下:当拖动a元素的时候也会触发div的拖动事件


奇怪的现象.gif

正常的现象应该是,只有div绑定了拖动事件,那么只有div才会触发事件,下面我们演示一下正常现象。
我们把a元素改成p元素,其他不变:

        <div draggable="true" ondragstart="dragStart(event)">
            <p>xxxxx</p>
        </div>

这时,不管怎么拖动目标元素都是div而不是p


正常的现象.gif

现在我们把p元素加上draggable="true"

        <div draggable="true" ondragstart="dragStart(event)">
            <p draggable="true">xxxxx</p>
        </div>

可以看到这时p又可以触发div的拖拽事件了


添加draggable属性的p元素.gif
结论

综上,只有绑定了draggable="true"的元素才可以通过冒泡触发父元素的拖拽事件,而a元素并没有绑定draggable="true",为什么也能触发呢?
因为链接和图像默认是可拖动的https://www.runoob.com/tags/att-global-draggable.html),他们默认已经绑定了draggable="true"

相关文章

  • 拖动属性draggable

    一个奇怪的现象:代码如下,设置div是可拖动的,拖动div时会触发dragStart事件 奇怪的现象如下:当拖动a...

  • JS的ondrag事件(拖拽效果)

    draggable: html元素属性,设置为true时,表示该元素可以进行拖动。 拖动事件: 1.dragsta...

  • drag事件

    1. 原理 draggable : html元素属性,设置为true,表示该元素可以进行拖动。 拖动事件: dra...

  • h5、vue实现拖拽

    H5中拖拽属性:draggable: auto | true | false 拖动事件: dragstart 在元...

  • H5新增API

    拖拽API 属性 draggable 设置为true 可以被拖拽 拖拽事件 ondragstart 开始被拖动...

  • HTML5新增API

    拖拽API 属性 draggable 设置为true 可以被拖拽 拖拽事件 ondragstart 开始被拖动...

  • H5拖拽元素

    为了让元素可拖动,需要设置元素的draggable=true属性。链接和图片默认是可拖动的,不需要 draggab...

  • 拖拉拽例子

    例子 相关知识 draggable="true", 配置属性可以拖拉拽 在拖动目标上触发事件ondragstart...

  • html5 drag拖拽

    一、概念 1. 被拖拽元素(拖拽目标) 1.1 属性 必须给拖拽目标设置draggable=true,目标才能拖动...

  • html 拖动事件(drag event )分析

    如何使元素支持拖动 图片和链接默认就支持拖拽.其他html元素添加 draggable="true" 属性可支持拖...

网友评论

      本文标题:拖动属性draggable

      本文链接:https://www.haomeiwen.com/subject/cccdpltx.html