HTML5拖拽表格中单元格间的数据库

效果图:

代码:

<!DOCTYPE HTML>
<html>
<head>
    <script src="jquery-min.js"></script>
    <style>
    td{
        width:100px;
        height:80px;
        border:1px solid #444;
        cursor:pointer;
    }
    div{
        background:#0094ff;
        padding:5px;
        border:1px solid #444;
    }
    </style>

    <script type="text/javascript">
        $(function () {
            $("div").each(function () {
                this.draggable = true;
                this.ondragstart = function (e) {
                    e.dataTransfer.setData("id", e.target.id);
                };
                this.ondragend = function (e) {
                    $("td").css("background","");
                }
            })

            $("td").each(function () {
                this.ondragenter = function (e) {
                    $(this).css("background", "yellow");
                }
                this.ondragover = function (e) {
                    e.preventDefault();
                }
                this.ondragleave = function (e) {
                    $(this).css("background", "");
                }
                this.ondrop = function (e) {
                    e.preventDefault();
                    $(this).append($(document.getElementById(e.dataTransfer.getData("id"))));
                }

            })
        })
    </script>
</head>
<body>

    <table>
        <tr>
            <td>
                <div id="div1">1111111111</div>
            </td>
            <td>
                <div id="div2">222222222</div>
            </td>
            <td>
                <div id="div3">3333333333</div>
            </td>
            <td>
                <div id="div4">44444444444</div>
            </td>
        </tr>
    </table>

</body>
</html>

这里要注意这句 this.ondrop = function (e) { e.preventDefault(); $(this).append($(document.getElementById(e.dataTransfer.getData("id")))); }

其中$(this).append($(document.getElementById(e.dataTransfer.getData("id")))); 这句本来是下面这样的

e.target.appendChild(document.getElementById(e.dataTransfer.getData("id")));

如果上面写时发现,在拖拽div层时有可能拖拽到另一个div层上,这是事件向传递,上网没有找到解决方法,所以只接使用对td追加的方法解决问题了。

时间: 2024-10-07 06:14:01

HTML5拖拽表格中单元格间的数据库的相关文章

border-collapse:collapse;清除表格中单元格的空隙

border-collapse:collapse;清除表格中单元格的空隙

latex 表格中单元格换行,显示多行

除了使用multirow的方式(比较麻烦),更好地办法是用下面的语句,可以使得一个单元格中显示多行,再配合其它格式语句,就能使得表格非常美观. \newcommand{\tabincell}[2]{\begin{tabular}{@{}#[email protected]{}}#2\end{tabular}} 下面一个比较综合的例子: \begin{table*}[htbp] \centering \newcommand{\tabincell}[2]{\begin{tabular}{@{}#[e

HTML5拖拽——将本地文件拖拽到网页中显示

HTML5标准中的提供的用于文件输入输出(I/O)的对象 File: 代表一个文件对象 FileList: 代表一个文件列表,类数组对象 FileReader 用于从文件中提取内容 FileWrite 用于向文件中写入类容 这些对象需要在 H5的拖拽事件中通过 e.dataTransfer 来访问和获取 完成效果如下: Data URL给了我们一种很巧妙的将图片"嵌入"到HTML中的方法.跟传统的用img标记将服务器上的图片引用到页面中的方式不一样,在Data URL协议中,图片被转换

Java实现HTML5拖拽文件上传

这是主页面 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+reques

html5 拖拽的简要介绍

1,首先,你要告诉计算机那个元素可以拖动,或者是一张图,或者是一个盒子,在标签里面加上 draggable="true"  2,然后,监听该元素被拖动的函数 ondragstart="drag(event)" 3,drag 里面告诉计算机是那个元素被拖动的 ev.dataTransfer.setData("Text",ev.target.id); 4,接下来将拖动的元素放到哪个盒子,(或者是经过那个盒子,经过某个盒子的时候触法 ondragove

html5拖拽-初探

先看看效果 完整测试代码: <p>Html5 拖拽</p> <div id="box" ondrop="handleDrop(event)" ondragover="allowDrop(event)"></div> <br> <img id="img1" src="images/screen1.jpg" draggable="tru

ExtJS4.2 Grid知识点三:改变表格Grid单元格背景颜色

在ExtJS4.2 Grid知识点一:改变表格Grid单元格文字颜色一文中讲解了如何改变单元格中文字颜色,接下来在本章学习如何改变Grid中单元格的背景颜色,显示结果如图片: 在线演示  /  示例代码 实现方式同样是为Grid中该列自定义renderer函数,查询ExtJS 4.2 API得知,Ext.grid.column.Column的renderer属性可以是一个函数也可以是字符串,这个知识点是通过函数来实现的.函数参数列表如下: value : 当前待渲染的单元格值,即表格中某行某列的

Html5拖拽复制

拖拽是一种常见的特性,即抓取对象以后拖到另一个位置. 在 HTML5 中,拖拽是标准的一部分,任何元素都能够拖拽. Html5拖拽非常常见的一个功能,但是大部分拖拽的案例都是一个剪切的过程, 项目中需要实现Html5拖拽复制的功能,Html5拖拽复制很简单,只需要在普通Html5拖拽的过程中做一点小小的改动即可. ps: 本篇博文为非首页文章,只是简单的笔记. 浏览器支持 Internet Explorer 9 Firefox Opera 12 Chrome Safari 5 v1.0代码部分

每天一个JavaScript实例-html5拖拽

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>每天一个JavaScript实例-html5拖拽</title> <style> #drop{ width:300px; height:200px; background-