HTML5自定义属性的问题分析


Posted in HTML / CSS onAugust 16, 2019

问题背景

在页面与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自定义属性的问题分析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

HTML / CSS 相关文章推荐
利用CSS3实现自定义滚动条代码分享
Aug 18 HTML / CSS
CSS3混合模式mix-blend-mode/background-blend-mode简介
Mar 15 HTML / CSS
CSS3制作漂亮的照片墙的实现代码
Jun 08 HTML / CSS
CSS3绘制有活力的链接下划线
Jul 14 HTML / CSS
Web时代变迁及html5与html4的区别
Jan 06 HTML / CSS
有关HTML5中背景音乐的自动播放功能
Oct 16 HTML / CSS
手对手的教你用canvas画一个简单的海报的方法示例
Dec 10 HTML / CSS
可能这些是你想要的H5软键盘兼容方案(小结)
Apr 23 HTML / CSS
canvas实现手机的手势解锁的步骤详细
Mar 16 HTML / CSS
html5视频自动横过来自适应页面且点击播放功能的实现
Jun 03 HTML / CSS
AmazeUI 手机版页面的顶部导航条Header与侧边导航栏offCanvas的示例代码
Aug 19 HTML / CSS
详解CSS中postion和opacity及cursor的特性
Aug 14 HTML / CSS
HTML5实现视频弹幕功能
Aug 09 #HTML / CSS
Canvas高级路径操作之拖拽对象的实现
Aug 05 #HTML / CSS
Canvas多边形绘制的实现方法
Aug 05 #HTML / CSS
使用canvas压缩图片大小的方法示例
Aug 02 #HTML / CSS
HTML5实现移动端弹幕动画效果
Aug 01 #HTML / CSS
前端实现背景虚化但内容清晰且自适应 的实例代码
Aug 01 #HTML / CSS
如何让pre和textarea等HTML元素去掉滚动条自动换行自适应文本内容高度
Aug 01 #HTML / CSS
You might like
PHP通过session id 实现session共享和登录验证的代码
2012/06/03 PHP
php判断访问IP的方法
2015/06/19 PHP
TP5框架实现一次选择多张图片并预览的方法示例
2020/04/04 PHP
Thinkphp 框架扩展之标签库驱动原理与用法分析
2020/04/23 PHP
使用CSS3实现字体颜色渐变的实现
2021/03/09 HTML / CSS
JS实现self的resend
2010/07/22 Javascript
分享一个用Mootools写的鼠标滑过进度条改变进度值的实现代码
2011/12/12 Javascript
基于jquery和svg实现超炫酷的动画特效
2014/12/09 Javascript
Nodejs的express使用教程
2015/11/23 NodeJs
用canvas 实现个图片三角化(LOW POLY)效果
2016/02/18 Javascript
javascript实现的全国省市县无刷新多级关联菜单效果代码
2016/08/01 Javascript
js实现文本上下来回滚动
2017/02/03 Javascript
基于jQuery对象和DOM对象和字符串之间的转化实例
2017/08/08 jQuery
ES6中的Promise代码详解
2017/10/09 Javascript
如何选择适合你的JavaScript框架
2017/11/20 Javascript
代码实例ajax实现点击加载更多数据图片
2018/10/12 Javascript
vue动态设置页面title的方法实例
2020/08/23 Javascript
[13:16]INFAMOUS vs VGJ T BO3
2018/06/07 DOTA
python网络编程示例(客户端与服务端)
2014/04/24 Python
Python socket C/S结构的聊天室应用实现
2014/11/30 Python
python根据给定文件返回文件名和扩展名的方法
2015/03/27 Python
python实现提取百度搜索结果的方法
2015/05/19 Python
Python开发之快速搭建自动回复微信公众号功能
2016/04/22 Python
pycharm安装图文教程
2017/05/02 Python
Python读取mat文件,并转为csv文件的实例
2018/07/04 Python
Kangol帽子官网:坎戈尔袋鼠
2018/09/26 全球购物
Under Armour瑞典官方网站:美国高端运动科技品牌
2018/11/21 全球购物
美术师范毕业生自荐信
2013/11/16 职场文书
寒假思想汇报
2014/01/10 职场文书
刘胡兰的英雄事迹材料
2014/02/11 职场文书
产假请假条
2014/04/10 职场文书
篝火晚会策划方案
2014/05/16 职场文书
收入及婚姻状况证明
2014/11/20 职场文书
2015年元旦文艺晚会总结(学院)
2014/11/28 职场文书
毕业生入职感言
2015/07/31 职场文书
Linux7.6二进制安装Mysql8.0.27详细操作步骤
2021/11/27 MySQL