当前位置: 移动技术网 > IT编程>网页制作>Html5 > HTML5自定义属性的问题分析

HTML5自定义属性的问题分析

2019年09月09日  | 移动技术网IT编程  | 我要评论

工商银行金条价格,逆剑行,天茧回归

问题背景

在页面与js传值中我们经常用到data-id="1"的方式,然后通过e.target.dataset.id取id的值

今天在获取值时怎么也取不到

问题分析

后来发现e对象有currenttarget和target属性,而dataset就在currenttarget中,所以通过e.currenttarget.dataset.id取到了正确的值。

另外data-id="1"最好不要用驼峰命名如:data-id="1" ,这样有时候也取不到值。

html5 自定义属性

网站中经常会看到以data-开头的属性定义,虽然w3c不认定,但最新html5规定data-是合理的,在html5中,任何以data-开始的都是自定义属性,通常它用来实现一些html里没有明确定义的元素,把用户自定义的属性应用到代码中

微信小程序文档

什么是事件

事件是视图层到逻辑层的通讯方式。

事件可以将用户的行为反馈到逻辑层进行处理。

事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数。

事件对象可以携带额外信息,如 id, dataset, touches。

事件的使用方式

在组件中绑定一个事件处理函数。

如bindtap,当用户点击该组件的时候会在该页面对应的page中找到相应的事件处理函数。

<view id="taptest" data-hi="wechat" bindtap="tapname"> click me! </view>

在相应的page定义中写上相应的事件处理函数,参数是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函数响应事件

总结

以上所述是小编给大家介绍的html5自定义属性的问题分析,希望对大家有所帮助

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网