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. 【学+原】CSS3的2D动画 ——仿NOMOS手表

    看CSS3妙味课堂中有一课是介绍如何做钟表界面,然后三根针都能随着时间转动,然后自己在那个简易的版本上做了一些进一部改进. 最关键的知识点应该是transform-origin这个样式,要选对旋转的中 ...

  2. httpd的警告

    1. httpd: apr_sockaddr_info_get() failed for serv05 这个是因为httpd.conf文件没有定义ServerName,所以会用hostname来代替, ...

  3. AR

    http://jingyan.baidu.com/article/6766299727dcfc54d41b8455.html 1.注册.然后下载sdk(注册账号主要是为了第3步中制作识别图而用的) 下 ...

  4. Linux字符界面下用户账户的设置

    在Linux系统字符界面下创建.修改以及删除用户账户主要使用useradd,usermod和userdel这3个命令. 一.创建用户账户 创建用户账户就是在系统中创建一个新账户,然后为新账户分配用户U ...

  5. ios 使用可视化工具charles转换pcap文件,进行流量统计(通过tcpdump抓包)

    环境准备:使用mac电脑,下载xcode,Charles 连接iPhone手机,打开xcode-window-devices-查看设备UDID 打开终端:rvictl –s 设备号 ,查看虚拟端口号 ...

  6. 【摘要】多线程 - BeginInvoke异步调用

    private delegate int MyMethod(); private int method() { Thread.Sleep(); ; } private void MethodCompl ...

  7. sql 2008 R2添加对MySql的远程服务器链接

    (1).我的sql 2008 R2所在的系统为Windows server 2008 *64 (2).MySQL所在的系统为Windows server 2003 *86 我想要实现的是在sql 20 ...

  8. php标记,变量,常量

    php标记 语法:有4种书写格式 1.<?php ... ?>  强烈推荐使用. 如果当前 php的代码段,是整个文档的最后一段,可以省略结束标记?(建议省略) 每句语句都要以分号;结束. ...

  9. HeartBeat的一些介绍和功能上的一些总结

    HeartBeat的作用: 通过HeartBeat,可以将资源(IP以及程序服务等资源)从一台已经故障的计算机快速转移到另一台正常运转的机器上继续提供服务,一般称之为高可用的服务.在实际的生产应用场景 ...

  10. 基于HOG-3D的时空描述子

    作者提出一种新的基于局部描述子的行为识别算法.