分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

HTML5 如何实现拖放‘N‘拖放

发布时间:2023-09-06 01:50责任编辑:郭大石关键词:HTML
在网络开发人员需要掌握的所有技术中,看起来最容易造成混淆和潜在问题的是拖拽。

这不是一项新技术,它已存在多年,但许多开发人员仍然执着于基于jQuery的旧方法,以牵连复杂(有时很慢且不准确)的拖放模拟。

现在HTML5包含一个拖放API,您已经有了一个非常简单的方法来实现无拖放拖放。

理解力学
拖放很容易理解。你有一个物体和一个目标。目标是允许用户点击对象并将其拖动到目标,然后您的应用程序需要做出适当的响应。

创建一个网页模板
这很简单,但我们需要有一个地方来放置所有的代码项目。您可以创建的最基本的网页模板是:

<!DOCTYPE html>
< html >
< head >
</ head >
< body >
</ body >
</ html >
定义一个可拖动的对象
你可能期望在这里有一些复杂的类似Java的定义,但实际上它就像在你的body部分的一个元素上设置一个“可拖动”属性一样简单,就像这样:

<div>
< img ?id = “dragMe” ?src = “pic.jpg” ?draggable = “true” >
</ div >
正如你所看到的那样,这部分非常简单。事实上,对于某些浏览器,您甚至不需要为某些元素类型指定属性,但无论如何,仍然是一个好主意。

定义目标
目标是可以将对象拖到的区域。同样,这很简单,你只需要给目标一个CSS ID属性。

<div id = “drop_target” >
×××离开!
</ div >
添加一些CSS
我们应该确保一切都看起来应该看起来。将以下CSS样式信息添加到您的头部部分:

<风格>
#drop_target { border:3 px solid#000 ; 填充:10像素; 身高:100像素; 宽度:100像素;}
#dragMe { height:50 px; width:50 px;}
< / style>
实现JS功能
这一步只是为了确保你的应用程序知道对象的存在,并且它应该与它们交互。如果您需要创建一系列事件侦听器,则可以采取复杂的方法,但您并不需要任何精心处理基本拖放操作的内容。

真的,我们只需要定义两个函数来处理所有的移动,dragObject和dropObject。

<script>
var moved = false ;
函数 dragObject(e) {
e.dataTransfer.effectAllowed = “移动” ;
e.dataTransfer.setData(“obj1”,e.target.id);
返回 false ;
}
function ?dropObject(e) {
if(moved == true){
return ?false ;
}
var received = e.dataTransfer.getData(“obj1”);
e.dataTransfer.dropEffect = “move” ;
e.preventDefault();
e.stopPropagation();
e.target.appendChild(document.getElementById(received));
移动= 真 ;
返回 false ;
}
< / script>
例如,有关防止默认值和停止传播的内容只是为了覆盖默认的浏览器行为,例如可能导致它尝试在某处导航或打开图像。已移动的变量可防止在执行操作后执行代码。

修改对象声明和目标声明
如果功能从未被调用,则不会发生任何事情。你只需要像这样改变对象和目标的声明:

<img id = “dragMe” src = “pic.jpg” draggable = “true” ondragstart = “dragObject(event);” >

<div id = “drop_target” ondragover = “event.preventDefault();” ondrop = “dropObject(

HTML5 如何实现拖放‘N‘拖放

原文地址:http://blog.51cto.com/13705565/2104481

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved