html5标签。拖放(Drag 和 drop)是 HTML5 标准的组成部分。

步骤一:首先设置标签可以被拖 draggable="true"
步骤二:选取被拖的标签,和要放置被拖标签的容器标签。
步骤三:input框默认可以接收text,但div是拒绝接收一切内容,所有此时要记得阻止div的默认行为。

拖放标签的所拥有的事件 dragstart事件 drag事件 dragend事件

对于被放置的标签而言所拥有的事件

1. dragenter事件(拖放目标进去)
2. dragover 事件 (目标标签在里面移动)
3. 如果移除放置标签 会出发dragleave 事件
4. 如果把拖放的标签放到了放置标签里面去 会触发drop事件

注意

1. 每一个标签都有一个可以接收的数据类型 是需要在dragover事件中阻止他的默认行为
2. 火狐浏览器上海需要在 dragenter事件中阻止他的默认行为 event.preventDefault
3. 不同标签代表的数据也是不同的 a标签href地址

在拖放标签dragstart事件中 通过event.dataTransfer.setData() 方法设置被拖的数据

在放置区域drop事件中通过 event.dataTransfer.getData('text')方法设置接收数据的类型

//拖拽div开始的时候触发
img.addEventListener('dragstart', function(event) {
console.log(1);
event.dataTransfer.setData('Text',event.target.id);
}, false); //在拖放的过程中,会一直不停地触发drag事件
// div.addEventListener('drag', function() {
// console.log('drag');
// }, false); //拖放结束的时候,触发dragend事件
div.addEventListener('dragend', function() {
console.log('dragend');
}, false); //对于被放置的标签而言,所拥有的事件
//如果有正在被拖放的标签进入到此标签里面,触发dragenter事件
big.addEventListener('dragenter', function() {
console.log('dragenter');//火狐在开始进入就要阻止其默认行为
}, false); big.addEventListener('dragover', function(event) {
event.preventDefault();//阻止默认行为:div是默认为不接受东西
console.log('dragover');
}, false); //如果移出了放置标签,触发dragleave事件
big.addEventListener('dragleave', function(event) {
event.preventDefault();
console.log('dragleave');
}, false); //如果把拖放的标签放在放置标签里,就会触发标签的Drop事件
big.addEventListener('drop', function(event) {
// console.log('drop');
// big.innerHTML = big.innerHTML + event.dataTransfer.getData('jpg');
event.preventDefault();
var data=event.dataTransfer.getData("Text");
event.target.appendChild(document.getElementById(data)); }, false); div.addEventListener('drop', function(event) {
// console.log('drop');
// big.innerHTML = big.innerHTML + event.dataTransfer.getData('jpg');
event.preventDefault();
var data=event.dataTransfer.getData("Text");
event.target.appendChild(document.getElementById(data)); }, false);

  

今天想用jquery来实现div的拖放功能的更多相关文章

  1. 脚本div实现拖放功能

    脚本div实现拖放功能 网页上有很多拖曳的操作,比如拖动树状列表,可拖曳的图片等. 1.原生拖放实现 <!doctype html> <html lang="en" ...

  2. jquery.Table实现的翻页功能比较完整漂亮,本想扩展个模版DIV

    jquery.dataTable实现的翻页功能比较完整漂亮,本想提取其的翻页部分,再结合模版DIV,bootstrop实现聊天记息的展示. jquery.Table 与table结合的较紧,不能在很下 ...

  3. jQuery.swatches – 把 Div 变成可爱的调色板

    jQuery.swatches 是一款开源的 jQuery 插件,能够把一个 Div 转换成漂亮的调色板.您可以自定义你想要的类,使用不同的类可以生成不同的调色板.这个功能能够帮助设计师方便的挑选设计 ...

  4. jquery鼠标移动div内容上下左右滚动

    jquery鼠标移动div内容上下左右滚动 点击这里查看效果:http://keleyi.com/keleyi/phtml/jqtexiao/9.htm <!DOCTYPE html PUBLI ...

  5. jquery动态改变div宽度和高度

    效果体验:http://keleyi.com/keleyi/phtml/jquery/23.htm 完整代码: <!DOCTYPE html PUBLIC "-//W3C//DTD X ...

  6. jQuery实现的Div窗口震动效果实例

    本文实例讲述了jQuery实现的Div窗口震动效果.分享给大家供大家参考.具体如下: 这是一款jQuery窗口震动效果代码,在Div边框内点击一下鼠标,它就开始震动了,适用浏览器:IE8.360.Fi ...

  7. jQuery 弹出div层

    目的:使用jQuery弹出一个div窗口:这种效果经常应用于页面内容的展示,登录效果的实现.其实,实现这种效果有好多种方式: 效果如下: 代码如下: <html> <head> ...

  8. JQuery button控制div或者section

    一.项目你需求 点击左边导航栏的某个按钮,右边内容栏显示出,相应的内容 效果如图   二.html与css.jQuery 1.div模式 <!DOCTYPE html PUBLIC " ...

  9. jQuery生成一个DIV容器,ID是"rating".

    我们需要一些服务器端代码,这个例子中用到了一个PHP文件,读取rating参数然后返回rating总数和平均数.看一下rate.php代码.虽然这些例子也可以不使用AJAX来实现,但显示我们不会那么做 ...

随机推荐

  1. MVC:上传文件时限制文件类型

    之前写过一篇:MVC:上传文件 今天补充下一个功能:如何限制上传文件类型 文件类型可以在前段限制,但是太容易被绕过,最好还是在后端处理. 修改upload方法代码: [HttpPost] public ...

  2. 显示hello

    The modern user interface is constructed from visual objects of various sorts. Depending on the oper ...

  3. python3爬虫 url管理器

    import urllib.request #python3中将urllib2拆分为了urllib.request.urllib.error.urllib.response等 import http. ...

  4. python socket 常见方法及 简单服务/客户端

    socket 常见方法: 补充说明:what is file descriptor? 文件描述符是什么? 参考(http://stackoverflow.com/questions/8191905/w ...

  5. ORACLE8.07客户端配置指南

    —本地机器网络连通配置 1.点击“开始”-〉“程序”菜单. 2.选择“Oracle-OracleHome81”-〉“Net Administrator”->“Net8 Configuration ...

  6. 在CentOS上搭建PHP服务器环境

    您也可以使用一键自动部署环境的工具,请参见网友开发的这个工具 http://www.centos.bz/2013/08/ezhttp-tutorial/     安装apache: yum insta ...

  7. Linux ToolChain (二) --- Linker (1)链接选项 -L -rpath -rpath-link

    一.动态库的链接和链接选项-L,-rpath-link,-rpath (1). 现代连接器在处理动态库时将链接时路径(Link-time path)和运行时路径(Run-time path)分开, 用 ...

  8. C#如何打开DBF数据库文件

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  9. Ubuntu解压命令大全

    tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz解压1:gunz ...

  10. 43. studio上的json串解析

    var doc = O_PARAMETER.FJSonStr;(doc为:{"items":[],"nextId":0}) //1.先转为json对象,主要有以 ...