## 前言
也許你對標簽屬性的知識局限于style,class,id,作為技術縱深,這些事遠遠不夠的。
## h5全局屬性(16個)
accesskey class contenteditable contextmenu dir draggable dropzone hidden id lang style tabindex title spellcheck data-* translate
### h5新增全局屬性(8個)
contenteditable: true false 定義元素內容是否可編輯,默認false
contextmenu: menu_id 定義元素的上下文菜單,屬性值是該菜單的id屬性,默認false
draggable: true false auto 定義元素是否可拖拽,默認false
dropzone: copy move link 定義元素被拖拽時是復制數據、移動元素、產生指向原數據的連接
hidden: hidden 定義元素是否隱藏,
spellcheck: true false 定義是否對元素進行拼寫或語法檢查,,默認false
data-*: 自定義 存儲頁面或應用程序的私有自定義屬性
translate: yes no 定義元素是否應該被翻譯,默認no
### 自定義屬性
* 首先,需要明確的是標簽中支持自定義屬性,但是一些特定的屬性是有特定含義的,例如以下幾種:
class,style 屬于樣式修飾的;
id,name,可以做標識的,title 做描述的
value ,data- 做值域的
readonly,disabled,selected,checked等用來區分元素的狀態屬性
oninput,onchange,onblur 用于事件屬性的,
src 用于標簽需要的源文件
href ,target,用于關聯信息以及連接效果
type,多用于表單的輸入類型
placeholder,pattern用于輔助輸入,表單提示輸入的
所以,除了以上的幾種,就可以自定義屬性,用于做標識,做自定義數據,做標簽類型等,需要注意的是屬性不區分字母的大小寫。
* input type新增的屬性:可以支持更好的數據驗證
* email 郵箱驗證
* url 網絡地址
* number 數字,手機端調用輸入法的數字鍵盤
* range 范圍
* Date pickers (date, month, week, time, datetime, datetime-local),日期
* search
* color 顏色
* tel 電話,手機端會調用手機系統數字鍵盤
## 事件屬性
* 事件屬性多用于用戶的交互體驗,超出1/2是h5新增的,下面摘抄出常用的作為知識儲備。
1. window事件: onload(),另外補充h5新增的事件。
onbeforeprint,onafterprint,打印前后觸發的事件
onerror 發生錯誤的時候 onhaschange 文檔發生改變的時候
ononline onoffline 文檔上線下線的腳本
onpagehide onpageshow 用于窗口隱藏和顯示
onresize 窗體大小發生改變時
onunload 一旦頁面已下載或者窗口關閉 onbeforeunload 文檔唄卸載前
2. form事件: onblur() onchange() onfocus() onselect() onsubmit(),onreset(),新增的事件有:
oncontextmenu 上下文的菜單觸發 onformchange 表單改變時
onforminput 表單獲得用戶的輸入狀態時 oninput 元素獲得用戶的輸入狀態時
oninvalid 元素無效的時候使用
其中oninput 是目前應用很多的事件,可以用于輸入的實時內容類型驗證,避免非法字符的輸入
3. keyboard事件 : onkeypress()敲擊 onkeydown()按下 onkeyup()釋放 這三個均屬于新增的事件
4. mouse事件:onclick() ondbclick() onmousedown() onmousemove() onmouseover() onnouseout() onmouseup()
ondrag 一系列的針對事件,包括拖動觸發,拖動開始結束觸發,拖到進入以及離開有效區域的,
onmousewheel 鼠標滾動 onscroll 元素內的滾動唄觸發
5. media事件: onplay() onpause(),有興趣的可以查看官網w3c的介紹。
- 前端入門
- 前端入職須知
- 前端自我定位
- pc與手機頁面差別
- 前端書單
- 前端種子計劃
- 前端技術棧
- ps
- ps入門階段
- html
- html入門
- html代碼規范
- meta
- table
- iframe
- a標簽詳解
- image
- html代碼審查工具
- h5專題
- h5入門
- h5新增屬性
- canvas畫布教程
- audio/video
- Geolocation
- Websockets
- Web storage
- Communication
- Web Workers
- requestAnimationFrame
- css
- css入門必學
- css代碼規范
- 項目字體規范
- css基本位置布局
- css常見樣式命名規則
- css代碼優化建議
- css常用樣式名
- css選擇器攻略
- css盒子模型的理解
- css屬性繼承與默認值
- css代碼審查工具
- css中常見的知識盲區
- css3新特性淺談
- css新特性了解
- border-radius
- background
- transform
- animation
- white-space
- css常用技術
- 文本兩端對齊
- css之浮動解決方案
- css優化建議
- 文本超出省略
- img-sprites
- rem布局教程
- 水平居中&垂直居中
- 固寬&變寬布局
- 寬高固定比例的盒模型
- 樣式預處理語言
- less教程
- sass教程
- postcss教程
- js
- javascript入門
- js代碼規范
- js基礎拓展
- js代碼審查工具
- js性能優化
- js基本語句
- 基本運算
- 基本語句語法
- js對象
- es6入門
- obj
- Array
- Date
- String
- Boolean
- Number
- Json
- RegExp
- Math
- function
- jquery入門
- jq核心思想
- jq基本語法
- jq插件庫匯總
- js常用技術
- break&continue區別
- js對日期轉換
- js控制運動-move.js
- 原生js-cookie語法
- ajax請求后回調
- 表單數據序列化
- zepto
- zepto入門
- 百度touchjs
- js編程
- 插件庫
- 功能性插件
- pdfjs
- wdatepicker
- qrcoder
- barcode插件
- photoviewer
- hammer.js
- echarts
- 交互組件
- layerjs
- java
- java入門
- java基本語句
- springMVC
- javaweb
- vm模板引擎
- freemarker
- maven教程
- mySql教程
- flex教程
- flex入門
- git教程
- git入門
- git分支
- git-tag管理
- git注意事項
- git-torise入門
- ide-git插件使用
- web
- web兼容
- web兼容思想
- pc端兼容適配文檔
- pc端兼容bug匯總
- ie兼容bug匯總
- 手機兼容bug匯總
- web安全
- jeecms
- web存儲
- app/h5組件
- 安卓教程
- ios教程
- 前端教程
- rubikx的教程
- 其他
- artTemplate
- tmod使用
- 跨域問題
- markdown教程
- 常用工具
- postman-api調試
- web常識
- 瀏覽器ua統計
- ui框架
- easyui
- bootstrap
- 入門推薦
- weui
- sui-pc
- sui-mobile
- layerUi