HTML5 拖放
1.元素的 draggable 属性设置为 true
2.ondragstart 属性调用函数,函数中dataTransfer.setData() 方法设置被拖数据的数据类型和值
3.ondragover 事件规定在何处放置被拖动的数据。
4.若要将数据/元素放置到其他元素中,通过调用 ondragover 事件的 event.preventDefault() 方法,设置对应元素允许放置
5.当放置被拖数据时,会发生 drop 事件
function drop(ev)
{
ev.preventDefault();
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
}
{
ev.preventDefault();
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
}
代码解释:
- 调用 preventDefault() 来避免浏览器对数据的默认处理(drop 事件的默认行为是以链接形式打开)
- 通过 dataTransfer.getData("Text") 方法获得被拖的数据。该方法将返回在 setData() 方法中设置为相同类型的任何数据。
- 被拖数据是被拖元素的 id ("drag1")
- 把被拖元素追加到放置元素(目标元素)中
HTML5 Geolocation(地理定位)
使用 getCurrentPosition() 方法来获得用户的位置。
HTML5 新的 Input 类型
- color 选取颜色
- date 选择一个日期
- datetime 日期和时间控制器(本地时间)
- datetime-local 选择一个日期和时间 (无时区).
- email 提交表单时,会自动验证 email 域的值是否合法有效
- month 月与年 (无时区)
- number 能够设定对所接受的数字的限定
- range 不需要非常精确的数值(显示为滑动条)
- search 搜索字段 (类似站点搜索或者Google搜索)
- tel 输入电话号码字段
- time 可输入时间控制器(无时区)
- url 提交表单时,会自动验证 url 域的值
- week 周和年 (无时区)
注意:并不是所有的主流浏览器都支持新的input类型,不过您已经可以在所有主流的浏览器中使用它们了。即使不被支持,仍然可以显示为常规的文本域。
HTML5 新的表单属性
<form>新属性:
- autocomplete 当用户在自动完成域中开始输入时,浏览器应该在该域中显示填写的选项。
- novalidate 规定在提交表单时不应该验证 form 或 input 域。boolean(布尔) 属性
<input>新属性:
- autocomplete 当用户在自动完成域中开始输入时,浏览器应该在该域中显示填写的选项。
- autofocus 在页面加载时,域自动地获得焦点。boolean 属性
- form 位于form表单外的 input 字段引用了 HTML form (该 input 表单仍然属于form表单的一部分)。引用一个以上的表单,请使用空格分隔的列表。
- formaction 用于 type="submit" 和 type="image".描述表单提交的URL地址.会覆盖<form> 元素中的action属性.
- formenctype 与 type="submit" 和 type="image" 配合使用。表单提交到服务器的数据编码 (只对form表单中 method="post" 表单)。覆盖 form 元素的 enctype 属性。
- formmethod 与 type="submit" 和 type="image" 配合使用。覆盖了 <form> 元素的 method 属性。表单提交的方式。
- formnovalidate 与type="submit一起使用。描述了 <input> 元素在表单提交时无需被验证。会覆盖 <form> 元素的novalidate属性.boolean 属性.
- formtarget 与type="submit" 和 type="image"配合使用.指定一个名称或一个关键字来指明表单提交数据接收后的展示。覆盖 <form>元素的target属性.
- height 与 width 只适用于 image 类型的<input> 标签。
- list list 属性规定输入域的 datalist。datalist 是输入域的选项列表。
- min 与 max 适用于以下类型的 <input> 标签:date pickers、number 以及 range。为包含数字或日期的 input 类型规定限定(约束)。
- multiple 适用于以下类型的 <input> 标签:email 和 file。规定<input> 元素中可选择多个值。 boolean 属性.
- pattern (regexp) 适用于以下类型的 <input> 标签: text, search, url, tel, email, 和 password。正则表达式用于验证 <input> 元素的值。
- placeholder 适用于以下类型的 <input> 标签:text, search, url, telephone, email 以及 password。描述输入域所期待的值。简短的提示在用户输入值前会显示在输入域上。
- required 适用于以下类型的 <input> 标签:text, search, url, telephone, email, password, date pickers, number, checkbox, radio 以及 file。提交之前填写输入域(不能为空)。
- step 与以下type类型一起使用: number, range, date, datetime, datetime-local, month, time 和 week.合法的数字间隔。可以与 max 和 min 属性创建一个区域值.