H5十大新特性(前端面试新手必背)(10)

简介: H5十大新特性(前端面试新手必背)(10)

2.7 拖放API


1 设置元素为可拖放


一般情况下,一个元素的默认拖拽属性为false。想要在页面拖拽元素,就要把属性这是为true


<img draggable = "true">


2 拖放什么? 用setData()或者ondragstart。

现在允许拖放了,那么拖拽什么?拖拽的时候会发生什么,触发什么事件?


function drag (event){
        event.dataTransfer.setData("Text",event.target.id);
}//dataTransfer.setData() 方法设置被拖数据的数据类型和值:


3 放置元素

现在拖放出来了,你要把元素安置到哪里去呢?这是一个问题。一般默认不能把元素放置其他元素中,如果需要,必须要对元素的默认方式进行处理。那要怎么办呢?


event.preventDefault()
//通过调用 ondragover 事件的event.preventDefault()方法:


4 进行放置

现在放置到哪里我们处理了,但是缺乏一个动作事件。当放置被拖数据时,会发生 drop 事件。ondrop 属性调用了一个函数,drop(event)。


function drop(event)        
{        
event.preventDefault();        
var data=event.dataTransfer.getData("Text");        
event.target.appendChild(document.getElementById(data));        
}
//preventDefault()避免浏览器对数据的默认处理,drop事件的默认行为是以连接的形式打开
//dataTransfer.getData("Text")获取拖拽的数据,该方法将返回在setData()方法中设置为相同类型的任何数据


attention:拖拽是一个重点,需要熟练。

data Transfer。getData()只在ondrop中可以用


// 元素放置目标区域,进入目标区域触发 ondragenter 事件
ondragenter()
// 进入目标区域后触发 ondragover 事件,会一直响应over事件不会触发ondrag
ondragover = function(event) {
    event.preventDefault();
}
// 元素放置目标区域,离开目标区域触发 ondragleave 事件
ondragleave()
// 元素放置目标区域,鼠标弹起触发 ondrop 事件
ondrop = function(event) {
    // 从开始触发时 dataTransfer.setData() 获取储存的数据
    // 获取dataTransfer.getData() 其他回调事件无法获取 getData()
    this.append(document.getElementById(event.dataTransfer.getData('xxx')));
}
相关文章
|
7月前
|
前端开发
【前端web入门第四天】02 CSS三大特性+背景图
本文详细介绍了CSS的三大特性:继承性、层叠性和优先级,并深入讲解了背景图的相关属性,包括背景属性、背景图的平铺方式、位置设定、缩放、固定以及复合属性。其中,继承性指子元素自动继承父元素的文字控制属性;层叠性指相同属性后定义覆盖前定义,不同属性可叠加;优先级涉及选择器权重,包括行内样式、ID选择器等。背景图部分则通过具体示例展示了如何设置背景图像的位置、大小及固定方式等。
314 91
|
5月前
|
移动开发 前端开发 JavaScript
前端H5使用canvas画爱心以及笑脸
本文介绍了HTML5中的canvas元素及其基本用法,通过JavaScript在canvas上绘制图形。首先简述了canvas的功能,接着详细展示了如何使用`bezierCurveTo`方法绘制爱心和`arc`方法绘制笑脸,并附有示例代码及效果说明。最后总结了canvas在网页图形绘制上的应用潜力。
151 2
|
5月前
|
缓存 前端开发 JavaScript
前端小白也能掌握的高级技巧:如何让你的网页支持PWA特性?
【10月更文挑战第30天】随着互联网技术发展,渐进式网页应用(PWA)成为提升用户体验的重要手段。本文通过一个案例,介绍如何为在线问答社区网页应用添加PWA特性。从创建基本结构、添加Service Worker、创建Manifest文件到测试PWA特性,详细展示了每一步的操作方法。适合前端小白学习参考。
115 2
|
5月前
|
缓存 前端开发 JavaScript
"面试通关秘籍:深度解析浏览器面试必考问题,从重绘回流到事件委托,让你一举拿下前端 Offer!"
【10月更文挑战第23天】在前端开发面试中,浏览器相关知识是必考内容。本文总结了四个常见问题:浏览器渲染机制、重绘与回流、性能优化及事件委托。通过具体示例和对比分析,帮助求职者更好地理解和准备面试。掌握这些知识点,有助于提升面试表现和实际工作能力。
125 1
|
7月前
|
Web App开发 前端开发 Linux
「offer来了」浅谈前端面试中开发环境常考知识点
该文章归纳了前端开发环境中常见的面试知识点,特别是围绕Git的使用进行了详细介绍,包括Git的基本概念、常用命令以及在团队协作中的最佳实践,同时还涉及了Chrome调试工具和Linux命令行的基础操作。
「offer来了」浅谈前端面试中开发环境常考知识点
|
8月前
|
存储 JavaScript 前端开发
2022年前端js面试题
2022年前端js面试题
149 57
|
7月前
|
Web App开发 存储 移动开发
前端基础(十七)_HTML5新特性
本文概述了HTML5的关键新特性,包括canvas图形绘制、多媒体的`video`和`audio`元素、本地存储功能、语义化标签(如`header`、`footer`、`nav`等)及其新增表单控件和属性(如`url`、`email`、`date`类型输入框等)。这些改进增强了网页的功能性和用户体验。
117 1
前端基础(十七)_HTML5新特性
|
8月前
|
存储 XML 移动开发
前端大厂面试真题
前端大厂面试真题
|
6月前
|
Web App开发 JavaScript 前端开发
前端Node.js面试题
前端Node.js面试题
|
8月前
|
存储 移动开发 前端开发
HTML5时代来临,这些新特性你掌握了吗?一篇文章带你玩转Web前端技术潮流!
【8月更文挑战第26天】HTML5(简称H5)作为新一代Web标准,相比HTML4带来了诸多增强功能。
122 2