HTML5自定義屬性的問題分析

問題背景
在頁面與js傳值中我們經(jīng)常用到data-id="1"的方式,然后通過e.target.dataset.id
取id的值
今天在獲取值時怎么也取不到
問題分析
后來發(fā)現(xiàn)e對象有currentTarget和target屬性,而dataset就在currentTarget中,所以通過e.currentTarget.dataset.id
取到了正確的值。
另外data-id="1"最好不要用駝峰命名如:data-Id="1"
,這樣有時候也取不到值。
HTML5 自定義屬性
網(wǎng)站中經(jīng)常會看到以data-開頭的屬性定義,雖然W3C不認定,但最新HTML5規(guī)定data-是合理的,在HTML5中,任何以data-開始的都是自定義屬性,通常它用來實現(xiàn)一些HTML里沒有明確定義的元素,把用戶自定義的屬性應(yīng)用到代碼中
微信小程序文檔
什么是事件
事件是視圖層到邏輯層的通訊方式。
事件可以將用戶的行為反饋到邏輯層進行處理。
事件可以綁定在組件上,當(dāng)達到觸發(fā)事件,就會執(zhí)行邏輯層中對應(yīng)的事件處理函數(shù)。
事件對象可以攜帶額外信息,如 id, dataset, touches。
事件的使用方式
在組件中綁定一個事件處理函數(shù)。
如bindtap,當(dāng)用戶點擊該組件的時候會在該頁面對應(yīng)的Page中找到相應(yīng)的事件處理函數(shù)。
<view id="tapTest" data-hi="WeChat" bindtap="tapName"> Click me! </view>
在相應(yīng)的Page定義中寫上相應(yīng)的事件處理函數(shù),參數(shù)是event。
Page({ tapName: function(event) { console.log(event) } })
可以看到log出來的信息大致如下:
{ "type":"tap", "timeStamp":895, "target": { "id": "tapTest", "dataset": { "hi":"WeChat" } }, "currentTarget": { "id": "tapTest", "dataset": { "hi":"WeChat" } }, "detail": { "x":53, "y":14 }, "touches":[{ "identifier":0, "pageX":53, "pageY":14, "clientX":53, "clientY":14 }], "changedTouches":[{ "identifier":0, "pageX":53, "pageY":14, "clientX":53, "clientY":14 }] }
使用WXS函數(shù)響應(yīng)事件
總結(jié)
以上所述是小編給大家介紹的HTML5自定義屬性的問題分析,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
- 這篇文章主要介紹了詳解HTML5 data-* 自定義屬性的相關(guān)資料,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-01-24
HTML5自定義屬性前綴data-及dataset的使用方法(html5 新特性)
這篇文章主要介紹了HTML5自定義屬性前綴data-及dataset的使用方法(html5 新特性),需要的朋友可以參考下2017-08-24全面解析HTML5中的標(biāo)準(zhǔn)屬性與自定義屬性
這篇文章主要介紹了HTML5中的標(biāo)準(zhǔn)屬性與自定義屬性,文中也談到了JavaScript操作DOM時訪問自定義屬性的一些相關(guān)知識點,非常推薦,需要的朋友可以參考下2016-02-18html5的自定義data-*屬性與jquery的data()方法的使用
在HTML5規(guī)范里增加了一個自定義data屬性,你可以拿它做很多有用的事情,下面為大家介紹下HTML5的自定義data-* 屬性和jquery的data()方法的使用,感興趣的朋友不要錯過2014-07-02- HTML5 增加了一項新功能是 自定義數(shù)據(jù)屬性 ,也就是 data-* 自定義屬性。在HTML5中我們可以使用以 data- 為前綴來設(shè)置我們需要的自定義屬性,來進行一些數(shù)據(jù)的存放2014-04-10
HTML5自定義data-* data(obj)屬性和jquery的data()方法的使用
可能大家在使用jquery mobile時,經(jīng)常會看到data-role、data-theme等的使用,這些都是HTML5自定義屬性,本文整理一些,需要的朋友可以參考下2012-12-13