拖拉事件

拖拉 drag ,是指用户在某个对象上按下鼠标键不放拖动它到另一个位置然后释放鼠标键将该对象放在那里

一旦某个元素节点的 draggable 属性设为true,就无法再用鼠标选中该节点内部的 文字 或 子节点 

  • 拖拉的对象:

除了 元素节点 默认不可以拖拉,其他(图片、链接、选中的文字)都是可以直接拖拉的

  • 为了让 元素节点 可拖拉,可以将该节点的 draggable 属性设为 true
    1. <div draggable="true">
    2. 此区域可拖拉
    3. </div>

图片(<img>)和 链接(<a>)不加这个属性就可以拖拉

往往是将 draggable 其设为 false,防止拖拉这两种元素

  • 当 元素节点 或 选中的文本 被拖拉时,就会持续触发拖拉事件

drag            拖拉过程中,在被拖拉的节点上持续触发(相隔几百毫秒)。

dragstart            用户开始拖拉时,在被拖拉的节点上触发

该事件的 target 属性是被拖拉的节点。

通常应该在这个事件的监听函数中,指定拖拉的数据。

dragend            拖拉结束时释放鼠标键按下 ESC 键)在被拖拉的节点上触发

该事件的 target 属性是被拖拉的节点。

它与 dragstart 事件,在同一个节点上触发。

不管拖拉是否跨窗口,或者中途被取消,dragend事件总是会触发的。

  • 在 某节点 触发

dragenter            拖拉进入 某节点 时,在 某节点 上触发一次

该事件的 target 属性是 节点

通常应该在这个事件的监听函数中,指定是否允许在 某节点 放下(drop)拖拉的数据。

如果 某节点 没有该事件的监听函数,或者 监听函数不执行任何操作,就意味着不允许在当前节点放下数据。

在视觉上显示拖拉进入当前节点,也是在这个事件的监听函数中设置。

dragover            拖拉到 某节点 上方时,在 某节点 上持续触发(相隔几百毫秒)

该事件的 target 属性是 某节点 。

该事件与 dragenter 事件的区别是

  • dragenter事件在进入该节点时触发
  • 只要没有离开这个节点,dragover 事件会持续触发。

dragleave            拖拉操作离开 某节点 范围时,在 某节点 上触发一次

该事件的 target 属性是当前节点

如果要在视觉上显示拖拉离开操作当前节点,就在这个事件的监听函数中设置。

drop            被拖拉的节点或选中的文本,释放到 某节点 时,在 某节点 上触发

注意:

  • 如果 某节点 不允许 drop,即使在该节点上方松开鼠标键,也不会触发该事件
  • 如果用户按下 ESC 键,取消这个操作,也不会触发该事件

该事件的监听函数负责取出拖拉数据,并进行相关处理

  • 实例:

动态改变被拖动节点的背景色

    1. div.addEventListener('dragstart', function (e) {
    2. this.style.backgroundColor = 'red';
    3. }, false);
    4.  
    5. div.addEventListener('dragend', function (e) {
    6. this.style.backgroundColor = 'green';
    7. }, false);

(98)Wangdao.com_第三十天_拖拉事件的更多相关文章

  1. (97)Wangdao.com_第三十天_触摸事件

    触摸事件 只有触摸屏才会引发这一类事件 触摸事件 和 鼠标事件 同时触发,即使这个时候并没有用到鼠标. 这是为了让那些只定义鼠标事件.没有定义触摸事件的代码,在触摸屏的情况下仍然能用. 如果想避免这种 ...

  2. (93)Wangdao.com_第二十六天_鼠标事件

    鼠标事件 与鼠标相关的事件,继承了 MouseEvent 接口 分类: click        按下鼠标(通常是按下主按钮)时触发.        mousedown 首先触发,mouseup 接着 ...

  3. Jmeter(三十六)_运行过程中改变负载

    顾名思义,jmeter在做性能测试时,可以在不停止脚本的情况下修改负载压力,达到期望的测试效果.我们将通过Constant Throughput Timer(吞吐量计时器)和Beanshell服务器来 ...

  4. Jmeter(三十五)_分布式

    jmeter分布式简单步骤说明: 1:添加远程服务器IP到配置文件 在JMETER_HOME / bin / jmeter.properties中,找到名为“ remote_hosts ” 的属性,并 ...

  5. Jmeter(三十五)_精确实现网页爬虫

    Jmeter实现了一个网站文章的爬虫,可以把所有文章分类保存到本地文件中,并以文章标题命名 它原理就是对网页提交一个请求,然后把返回的所有值提取出来,利用ForEach控制器去实现遍历.下面来介绍一下 ...

  6. Jmeter(三十二)_搭建本地接口自动化环境

    我们在学习接口自动化的时候,最理想的状态是在公司有项目可以操作.大部分时候我们并没有可以练习的项目,因此练习接口无从谈起,只能找一些开放的api来练一练,但是这样并不能提高我们的技术.因此我们需要搭建 ...

  7. SpringBoot | 第三十二章:事件的发布和监听

    前言 今天去官网查看spring boot资料时,在特性中看见了系统的事件及监听章节.想想,spring的事件应该是在3.x版本就发布的功能了,并越来越完善,其为bean和bean之间的消息通信提供了 ...

  8. 学习之路三十九:新手学习 - Windows API

    来到了新公司,一开始就要做个程序去获取另外一个程序里的数据,哇,挑战性很大. 经过两周的学习,终于搞定,主要还是对Windows API有了更多的了解. 文中所有的消息常量,API,结构体都整理出来了 ...

  9. 第三十六节,目标检测之yolo源码解析

    在一个月前,我就已经介绍了yolo目标检测的原理,后来也把tensorflow实现代码仔细看了一遍.但是由于这个暑假事情比较大,就一直搁浅了下来,趁今天有时间,就把源码解析一下.关于yolo目标检测的 ...

随机推荐

  1. 第十一节:Bundles压缩合并js和css及原理分析

    一. 简介 1.背景:浏览器默认一次性请求的网络数是有上限的,如果你得js和css文件太多,就会导致浏览器需要多次加载,影响页面的加载速度, MVC中提供Bundles的方式压缩合并js和css,是M ...

  2. mysql用户管理与备份

    用户管理 我们知道在Mysql中root用户是最高权限的用户,其他用户的创建和权限授予都是通过root用户来操作的 查看用户 在root用户界面下 select user,host,password ...

  3. windows下使用git和github建立远程仓库

    转自(http://www.bubuko.com/infodetail-430228.html) 从昨天开始就在看git的使用,因为在Windows下很多命令行操作都比较坑爹,但是今天再走了无数弯路之 ...

  4. 【原创】大数据基础之ORC(1)简介

    https://orc.apache.org Optimized Row Columnar (ORC) file 行列混合存储 层次结构: file -> stripes -> row g ...

  5. (原创)cocos2dx-lua TableView官方demo分析

    本来是想看看网上的教程文章,结果看了好几篇,复制代码各种报错,有很多不存在的类和变量,根本用不了. 所以干脆自己去看官方demo,经过自己分析测试,已经大概会用了,顺便记录一下. 以下是代码,复制粘贴 ...

  6. 三目算法、if/else,switch/case运用

    //输入学生的成绩,判断考试是否及格,及格6大于等于0 //第一种写法:三目运算 大多用于单独判断是否满足某个条件 import java.util.Scanner; public class Hel ...

  7. Java Spring Boot VS .NetCore (三)Ioc容器处理

    Java Spring Boot VS .NetCore (一)来一个简单的 Hello World Java Spring Boot VS .NetCore (二)实现一个过滤器Filter Jav ...

  8. log4j2使用入门(一)

    log4j2是log4j的一个升级版,与log4j1相比进行了很大的改善,同时也修复了一些logback的架构上的问题.所以是目前应用开发的首选的日志器(下载位置:http://apache.faye ...

  9. ExtJs5的基本理论概念

    概述 理解ExtJs里面的一些基本关键字的概念是使用ExtJs搭建MMVC框架的基础,在ExtJs中,我们通常遇到ExtJs的配置和启动项Ext.application(),该方法是ExtJs程序初始 ...

  10. 设计模式学习之责任链模式(Chain of Responsibility,行为型模式)(22)

    参考:http://www.cnblogs.com/zhili/p/ChainOfResponsibity.html 一.引言 在现实生活中,有很多请求并不是一个人说了就算的,例如面试时的工资,低于1 ...