拖放相关事件

一、拖放事件

1.任何元素都有一个draggable属性,draggable=true就能拖动,拖动元素时依次触发下列事件:

(1)dragstart:按下鼠标并移动时,在被拖动元素上触发;

(2)drag:在元素被拖动时持续触发;

(3)dragend:拖动停止时触发;

2.当元素被拖动到一个有效的放置目标时,依次触发下列事件:

(1)dragenter:元素被拖动到放置目标上触发;

(2)dragover:被拖动元素在放置目标范围内移动时触发;

(3)drop:元素被放到放置目标中触发;

二、自定义放置目标

当把元素拖动到无效的放置目标时,不会触发drop事件。我们可以把任何元素变成有效的放置目标:

div.ondragenter=function(event){
    if (event.preventDefault){
        event.preventDefault();
    }else{
        event.returnValue=false;
    }
}

div.ondragover=function(event){
    if (event.preventDefault){
        event.preventDefault();
    }else{
        event.returnValue=false;
    }
}

//取消元素默认放置行为
div.ondrop=function(event){
    if (event.preventDefault){
        event.preventDefault();
    }else{
        event.returnValue=false;
    }
}

三、dataTransfer对象

dataTransfer对象是事件对象的属性,有两个主要方法:setData()、getData(),用法如下:

event.dataTransfer.setData("Text",event.target.id);
var data=event.dataTransfer.getData("Text");
时间: 2025-01-15 23:10:32

拖放相关事件的相关文章

一次部署HTTPS的相关事件引发的思考

前言: 上周五快要下班的时候,突然收到通知客户希望了解一下部署HTTPS的流程,这种事情谁听了都会有几分诧异的.因为这件事虽然和工作有一定的相关度,但平时不会走这个方向,实际上也较少接触.此外,客户手下应该不缺人,做运维和开发的肯定比我更懂这个,但情况却和我想的不一样. 正文: 客户有需求,就应该尽量满足!因此,尽管之前对Apache.Tomcat的一些配置不熟,也未有过自己部署HTTPS的经验[当然失败的尝试还是有的],便趁着周末了解了一下相关的东西,在本地搭建了环境.实践表明,当你对一个东西

移动端前端常见的触摸相关事件touch、tab、swipe等整理

前端的很多事件在PC端和浏览器端可公用,但有些事件却只在移动端产生,如触摸相关的事件 本文整理了移动端常见的一些事件,包括原生支持的click.touch.tab.swipe事件,也有定义型的gesture手势事件(目前只是一个概念,使用的时候需封装模拟) 使用到的是移动端的Chrome浏览器,本文只对该浏览器进行调试,其他浏览器暂未考虑到 一.事件定义及分类 1. click事件 单击事件,类似于PC端的click,但在移动端中,连续click的触发有200ms ~ 300ms的延迟 2. t

Android 开源项目android-open-project工具库解析之(二) 高版本向低版本兼容,多媒体相关,事件总线(订阅者模式),传感器,安全,插件化,文件

六.Android 高版本向低版本兼容 ActionBarSherlock 为Android所有版本提供统一的ActionBar,解决4.0以下ActionBar的适配问题 项目地址:https://github.com/JakeWharton/ActionBarSherlock Demo地址:https://play.google.com/store/apps/details?id=com.actionbarsherlock.sample.demos APP示例:太多了..现在连google都

Redis集群~StackExchange.redis连接Sentinel服务器并订阅相关事件(原创)

回到目录 对于redis-sentinel我在之前的文章中已经说过,它是一个仲裁者,当主master挂了后,它将在所有slave服务器中进行选举,选举的原则当然可以看它的官方文章,这与我们使用者没有什么关系,而对于sentinel来说,它在进行主从切换时,会触发相关事件,这是和我们开发人员有关系的,如当+switch-master事件被触发时,说明当前Sentinal已经完成了一次主从的切换,并所有服务已经正常运转了. 下面是我这几天作的测试,对于Twemproxy代理和Sentinal哨兵都已

移动端触摸相关事件touch、tap、swipe

一.事件定义及分类 1. click事件 单击事件,类似于PC端的click,但在移动端中,连续click的触发有200ms ~ 300ms的延迟 2. touch类事件 触摸事件,有touchstart touchmove touchend touchcancel 四种之分 touchstart:手指触摸到屏幕会触发 touchmove:当手指在屏幕上移动时,会触发 touchend:当手指离开屏幕时,会触发 touchcancel:可由系统进行的触发,比如手指触摸屏幕的时候,突然alert了

Android的相关事件

Android的相关事件 1.Toast信息提醒 import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.Toast; public class FirstActivity extends AppCo

ViewModel处理View相关事件的多种方式(非技术贴,仅学习总结)

众所周知,在UWP中,微软为我们提供了一种新的绑定方式:x:bind,它是基于编译时的绑定.在性能方面,运行时绑定Binding与它相比还是有些逊色的.因此针对一些确定的.不需要变更的数据,我们完全有理由来使用X:bind进行绑定.(当然,如果你不在乎程序性能的话就没必要继续往下看了!) 悉MVVM的朋友都知道,我们常常遇到这样一种情况:我们需要为一个控件绑定一个ViewModel中的Command,但是这个控件并没有Command属性?笼统的解决方法有很多,我这里大致列举几种常用的解决方法:

[jQuery编程挑战]003 克隆一个页面元素及其相关事件

挑战: a) 绑定一个点击方法到这个div,点击后此元素会淡出消失 b) 同时克隆一个新的div元素到页面,元素内容是前面div文字内容反向书写(即,sgatbg olleh),同样也具有上面的点击事件绑定,元素淡出消失 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="utf-8"/> <title>克隆一个页面元素及其相关元素</titl

jquery中ajax的相关事件汇总

Jquery ajax事件分类 (一) 局部事件 local events 局部事件:在单个Ajax请求对象中绑定的事件,每一个 Ajax 请求对象可以根据需要绑定自己的局部事件 .局部事件只会被那个绑定该事件的 Ajax 对象触发,是属于单个 Ajax 对象的私有(即局部)事件.此类事件包括:beforeSend.complete.success.error. $.ajax({ beforeSend: function(){ // Handle the beforeSend event },