zoukankan      html  css  js  c++  java
  • 元素的拖拽属性和事件

      因为公司的一个项目需求,实现拖拽来交换位置,虽然知道有一些插件,但还是想有没有其它的快速实现方法,因为之前好像有了解过标签的拖拽属性,还稍微有点印象。就想试试。就在这里简单的做个总结。

    需要给标签添加 draggable="true"
    #### drag事件
    • 当目标元素被拖动时触发该事件
    • 开始拖动时,鼠标不松开,会一直触发该事件
    document.addEventListener("drag", function( event ) {
      console.log('拖动目标元素时触发drag事件')
    }, false);
    

    dragstart事件

    • 当目标元素开始拖动时触发该事件
    document.addEventListener("dragstart", function( event ) {
      console.log('开始拖拽事件')
    }, false);
    

    dragover事件

    • 放置目标元素时触发事件,放置到有效的放置目标时
    • 鼠标不松开会一直触发该事件
    document.addEventListener("dragover", function( event ) {
      console.log('放置目标元素时触发事件 ')
    }, false);
    

    dragenter事件

    • 可拖动的元素进入可放置的目标时触发,即拖动到一个有效的目标上
    document.addEventListener("dragenter", function( event ) {
      console.log('当可拖动的元素进入可放置的目标时高亮目标节点')
    }, false);
    

    dragleave事件

    • 拖动元素离开可放置目标节点时触发,即离开有效目标时
    • 一个标签相当于一个节点,包含html,body,但是不包含 head、没有高度的标签或者 display 属性为 none 的标签,其中的高度包含了 margin
    document.addEventListener("dragleave", function( event ) {
      console.log('当拖动元素离开可放置目标节点,重置其背景')
    }, false);
    

    drop事件

    • 将拖动的元素到所选择的放置目标节点中时触发,即将拖动的元素放置到一个有效的目标中时触发
    document.addEventListener("drop", function( event ) {
      console.log('将拖动的元素到所选择的放置目标节点中')
    }, false);
    

    dragend事件

    • 结束拖拽事件,鼠标松开结束拖动时触发
    document.addEventListener("dragend", function( event ) {
        console.log('结束拖拽事件')
    }, false);
    

    在vue中相关事件

    • @drag

    • @dragstart

    • @dragover

    • @dragenter

    • @dragleave

    • @drop

    • @dragend

    <li
      draggable="true"
      @dragstart="dragstarts($event,index)"
      @dragend="dragengs"
      @dragenter="dragenters($event,index)"
    >
    

    MDN链接: https://developer.mozilla.org/zh-CN/docs/Web/API/Document/drag_event

  • 相关阅读:
    【OBIEE】补全维度成员
    【OBIEE】超过了已配置的最大允许输入记录数
    【OBIEE】开启和关闭OBIEE的SSO登陆认证
    【OBIEE】OBIEE重装删除DEV前缀
    【OBIEE】OBIEE 12C迁移
    【OBIEE】OBIEE集成第三方js
    【Java】webservice调用
    【前端】汉字转拼音首字母
    【Oracle】Redhat安装Oracle 11g
    CAS单点登录:基础框架搭建(一)
  • 原文地址:https://www.cnblogs.com/aloneer/p/15025964.html
Copyright © 2011-2022 走看看