HTML5权威指南--标签新变化,文件API,拖放API(简要学习笔记一)

1.标签元素更加语义化

 

2.内容类型仍然为“text/html”

   扩展符仍然为html或者htm.

   <1>DOCTYPE 声明<!DOCTYPE html>就可以。不需要使用版本声明。

   <2>制定字符编码<meta charset="UTF-8">,不需要使用HTML4中的<meta http-equiv="Content-type" content="text/html;charset=UTF-8">。

 

3.省略引号

HTML5中,当属性值不包括空字符串,<,>,=,单引号,双引号等字符时,属性值两边的引号可以省略。

如:

<input type=text>

 

4.新增的全局属性

<1>contentEditable:主要功能是允许用户编辑元素中的内容。该属性是一个布尔值属性,可以被指定为TRUE或FALSE。

例子:

<ul contenteditable="true">
<li>asdasdas</li>
<li>asdasdas</li>
<li>asdasdas</li>
<li>asdasdas</li>
</ul>

 

<2>designMode:用来指定整个页面是否可编辑,当页面可编辑时,页面中任何支持上下文所述的contenteditable属性的元素都变成了可编辑状态。该属性有两个值;on与off.并且该属性只能在脚本中进行编辑修改。

如:

document.designMode="on";

 

<3>spellcheck:功能为对用户输入的文本内容进行拼写和语法检查。这个属性是一个布尔值。

 

<4>tabindex:当不断敲击Tab键让窗口或页面中的空间获得焦点。对窗口会哦页面中的所有控件进行便利的时候,每一个控件的tabindex表示该控件是第几个被访问到到的。

 

4.有变化的元素

a:新增的结构元素

  section,article,aside,header,hgroup,footer,nav,figure

b:其他元素

  video,audio,embed,mark,progress,time,ruby,rt,rp,wbr

c.新增的功能

  canvas,command,details,datakist,datagrid,keygen,output,source,menu

d:新增的input元素的类型

  email,url,number,range,Date Pickers

 

 

5.很多浏览器对HTML5的支持上不完全。

/*追加block声明*/
article,aside,dialog,figure,footer,header,legend,nav,section{
    display:block
}

 

 

6.新增属性

a:form

    在HTML5中,可以把它们书写在页面上任何地方,然后给该元素指定一个属性,属性值为该表单的id。

如:

<form id="do">
    <input type="text">
</form>
<textarea form="do"></textarea >

 

b:formaction

可以给所有的提交按钮增加该属性。使得点击不同的按钮,可以将表单提交到

不同的页面。

 

c:formmethod

可以对面哥表单元素分别指定不同的提交方法:post,get

 

d:placeholder

指的是当文本框处于未输入的状态时显示的输入提示

 

e:autofocus

当页面打开的时候,加上该属性的文本框等控件自动获得光标焦点。一个页面上只能有一个控件具有该属性。

 

f:list

 

g:autocomplete

辅助输入的自动完成功能

 

 

7.变化较大的input种类

  url,email,date,time,datetime,datetime-local,month,week,number,range,search,tel,color

 

 

8.元素内容输入校验

<1>required:如果元素内容为空白,则不允许提交,同时在浏览器中显示信息提示文字,提示用户这个元素中必须输入内容。

<2>pattern:将属性值设为某个格式的正则表达式,检查输入内容的格式。

<3>min与max:这两个属性是数值类型与日期类型的input元素的专用属性,限制了在input元素中输入的数值与日期范围。

<4>step:控制input元素中的值增加或减少时的步幅。

 

9.改良的ol列表

添加了start与reversed属性star属性可以自定义编号的初始值。reversed属性对列表进行反向排序。

 

10.改良的dl列表

如:

<dl>
    <dt>RSS</dt>
    <dd>RSS也叫聚合RSS是在线共享内容的一种简易方式...</dd>
    <dt>博客</dt>
    <dd>博客又名网络日志...</dd>
</dl>

 

11.文件API

HTML5中提供了一个关于文件操作的文件API。

<1>FileList对象和file对象

如:

 

<2>Blob对象

Blob表示二进制原始数据,上面的file对象也继承了这个Blob对象。

Blob对象有两个属性,size属性表示一个Blob对象的字节长度。

type属性表示Blob的MIME类型,如果是未知类型,则返回一个空字符串。

如:

function shw(){
 var file;
 var a=document.getElementById('file').files;
 console.log(a[0].name);
}
 

 

<3>FileReader接口

该接口主要用来把文件读入内存,并且读取文件中的数据。FileReader接口提供了一个异步API。

使用该API可以再浏览器主线程中异步访问文件系统,读取文件中的数据。

a:该接口的下面三个方法:

 

b:该接口的事件:

html:

<input type="file" id="file"/>
<input type="button"  value="读取图像" onclick="re()"/>
<input type="button"  value="读取二进制数据" onclick="er()"/>
<input type="button"  value="读取文件文件" onclick="dq()"/>

<div name="result" id="result">
</div>

 

 

js:

function re(){

 var file=document.getElementById("file").files[0];
 var reader=new FileReader();
 //将文件以文本形式读入页面
 reader.readAsDataURL(file);
 reader.onload=function(e){

  var result=document.getElementById("result");
  result.innerHTML='<img  src="'+this.result+'" alt=""/>';
  //alert(file.name);
 }
}

function er(){

 var file=document.getElementById("file").files[0];
 var reader=new FileReader();
 //将文件以二进制形式读入页面
 reader.readAsBinaryString(file);
 reader.onload=function(e){

  var result=document.getElementById("result");
  result.innerHTML=this.result;
  //alert(file.name);
 }
}

function dq(){
 var file=document.getElementById("file").files[0];
 var reader=new FileReader();
 //将文件以Data URL形式读入页面
 reader.readAsText(file);
 reader.onload=function(e){

  var result=document.getElementById("result");
  result.innerHTML=this.result;
  //alert(file.name);
 }
}

 

12.拖放API

<1>拖放事件:

如:

html:

<div id="dragme" draggable="true" style="width;200px;border:1px solid red">被拖放DIV</div>
<div id="text" draggable="true" style="width;200px;border:1px solid red">放入的DIV</div>

 

 

js:

function init(){
 var source=document.getElementById("dragme");
 var dest=document.getElementById("text");
 source.addEventListener("dragstart",function(ev){
  var dt=ev.dataTransfer;
  dt.effectAllowed='all';

  dt.setData("text/plain","你好");
 },false);

 dest.addEventListener("dragend",function(ev){
  ev.preventDefault();
 },false);

 dest.addEventListener("drop",function(ev){
  var dt=ev.dataTransfer;
  var text=dt.getData("text/plain");
  dest.textContent+=text;
  ev.preventDefault();
  ev.stopPropagation();
 },false);

}

document.ondragover=function(e){e.preventDefault();}
document.ondrop=function(e){e.preventDefault();}

 

具体分析:

 

<2>DataTransfer对象的属性与方法

<3>设定拖放时的视觉效果

转载:http://www.cnblogs.com/zqzjs/p/4855874.html

时间: 2024-09-08 20:59:41

HTML5权威指南--标签新变化,文件API,拖放API(简要学习笔记一)的相关文章

HTML5权威指南--Web Storage,本地数据库,本地缓存API,Web Sockets API,Geolocation API(简要学习笔记二)

1.Web Storage HTML5除了Canvas元素之外,还有一个非常重要的功能那就是客户端本地保存数据的Web Storage功能. 以前都是用cookies保存用户名等简单信息.   但是cookie有下面几个问题: a:大小:cookies的大小被限制在4KB b:带宽:cookies随HTTP事务一起被发送,因此会浪费一部分发送的cookies时使用的带宽. c:复杂性:要正确的操纵cookies是很困难的.   Web Storage分为两种: <1>sessionStorag

JavaScript权威设计--JavaScript变量,作用域,声明提前(简要学习笔记四)

1.宿主对象与宿主环境 宿主对象:由ECMAScript实现的宿主环境提供的对象,可以理解为:浏览器提供的对象.所有的BOM和DOM都是宿主对象.   宿主环境:一般宿主环境由外壳程序创建与维护,只要能提供js引擎执行的环境都可称之为外壳程序.如:web浏览器等.   2.日期的转换 var now =new Date(); typeof(now+1) //string typeof(now-1) //number now==now.toString(); //true now>(now-1)

API Demos 2.3 学习笔记 (19)-- Views-&amp;gt; TextSwitcher

更多精彩内容,请点击阅读:<API Demos 2.3 学习笔记> TextSwitcher即文字交换器,是只能包含TextView作为唯一子类型的控件,常用于屏幕上文字标签的动画切换.每次调用setText(CharSequence),TextSwitcher会将当前文字用预定淡出动画隐藏,而将最新文字用预订淡入动画显示出来. 下面简单介绍怎么创建和使用TextSwitcher控件. 1.首先,在布局文件中定义一个TextSwitcher控件 <TextSwitcher android

API Demos 2.3 学习笔记 (9)-- Views-&amp;gt;Visibility

更多精彩内容,请点击阅读:<API Demos 2.3 学习笔记> Visibility 示例以TextView为例介绍了View的三种可见性以及如何设置View的可见性.这些可见性的设置方法同样适用于View以及其他继承自View的子类对象.从示例布局文件来看,主要分为两部分,一部分为一个线性垂直布局,包含三个不同背景色的TextVew对象:另一部分,为一个线性水平布局,包含三个Button对象. View的可见性主要分为三种, VISIBLE(可见). INVISIBLE(不可见). GO

API Demos 2.3 学习笔记 (3)-- Android应用程序架构

更多精彩内容,请点击阅读:<API Demos 2.3 学习笔记> Android应用程序以可以分为下三种类型:1.前端Activity(Foreground Activities):通俗一点讲Activity可以理解为一个界面容器,里面装着各种各样的UI组件.例如,上面例子中"Hello World" 显示界面.2.后台服务(Background Services):系统服务(System Service).系统Broadcast(广播信息)与Receiver(广播信息)

API Demos 2.3 学习笔记 (2)--创建第一个Android项目(Hello World!)

更多精彩内容,请点击阅读:<API Demos 2.3 学习笔记> 一.根据新建项目向导创建项目 启动Eclipse,选择"File"--"New"--"Project",打开新建项目向导.   展开"Android"项,选择"AndroidProject",单击"Next"按钮继续创建.      在"Projectname:"字段后填写项目名称&quo

API Demos 2.3 学习笔记 (17)-- Views-&amp;gt;Tabs

更多精彩内容,请点击阅读:<API Demos 2.3 学习笔记> Tab与TabHost应用很广泛.打开android手机的默认电话拨号程序,上面就是由"拨号","通话记录","通讯录"以及"收藏"四个选项卡组成的. TabHost有两种实现方式,一种是继承TabActivity,另一种是自己定义TabHost,不继承TabActivity.APIDemo中的三个实例都是第一种.想了解TabHost的第二种实现方

JavaScript权威设计--JavaScript函数(简要学习笔记十一)

1.函数调用的四种方式 第三种:构造函数调用 如果构造函数调用在圆括号内包含一组实参列表,先计算这些实参表达式,然后传入函数内.这和函数调用和方法调用是一致的.但如果构造函数没有形参,JavaScript构造函数调用的语法是允许省略实参列表和圆括号的. 如: var o=new Object(); //->等价于 var o=new Object;   第四种:使用call()与apply()间接调用(放在后面详细说明)   2.函数的实参与形参--可选形参 先看一个例子: function g

API Demos 2.3 学习笔记 (15)-- Views-&amp;gt;Radio Group

更多精彩内容,请点击阅读:<API Demos 2.3 学习笔记> 想想我们上学时候做的单项选择题,其中只有一个是正确答案.在做题的时候,我们只能选择一项.如果我们想在Android上设计一道单项选择题的话,可能就要用到RadioGroup了.RadioGroup常常和RadioButton一起使用.由一个RadioGroup包含若干个RadioButton,组成一个单项选择群组.我们在同一时间只能选中该组中的一个 RadioButton. RadioGroup的创建主要有两种方法: 1.在x