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弹性盒模型开发笔记(一)
Apr 26 HTML / CSS
css3实现的多级渐变下拉菜单导航效果代码
Aug 31 HTML / CSS
轻松掌握CSS3中的字体大小单位rem的使用方法
May 24 HTML / CSS
使用CSS3实现SVG路径描边动画效果入门教程
Oct 21 HTML / CSS
CSS3 新增选择器的实例
Nov 13 HTML / CSS
HTML5应用之文件上传
Dec 30 HTML / CSS
HTML5 语义化结构化规范化
Oct 17 HTML / CSS
浅谈HTML5 Web Worker的使用
Jan 05 HTML / CSS
详解如何获取localStorage最大存储大小的方法
May 21 HTML / CSS
纯html+css实现Element loading效果
Aug 02 HTML / CSS
解决flex布局中子项目尺寸不受flex-shrink限制
May 11 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
sourcesafe管理phpproj文件的补充说明(downmoon)
2009/04/11 PHP
php 批量替换程序的具体实现代码
2013/10/04 PHP
jQuery调用AJAX时Get和post公用的乱码解决方法实例说明
2013/06/04 Javascript
判断客户浏览器是否支持cookie的示例代码
2013/12/23 Javascript
js unicode 编码解析关于数据转换为中文的两种方法
2014/04/21 Javascript
javascript中加号(+)操作符的一些神奇作用
2014/06/06 Javascript
javascript内置对象操作详解
2015/02/04 Javascript
深入理解JavaScript系列(46):代码复用模式(推荐篇)详解
2015/03/04 Javascript
详解Vue.js分发之作用域槽
2017/06/13 Javascript
angular中的cookie读写方法
2017/08/02 Javascript
Angular实现搜索框及价格上下限功能
2018/01/19 Javascript
微信小程序分包加载代码实现方法详解
2019/09/23 Javascript
[00:20]DOTA2荣耀之路7:-ah fu-抢盾
2018/05/31 DOTA
9种python web 程序的部署方式小结
2014/06/30 Python
Python脚本实现集群检测和管理功能
2015/03/06 Python
python使用正则表达式分析网页中的图片并进行替换的方法
2015/03/26 Python
Python实现文件按照日期命名的方法
2015/07/09 Python
Python协程的用法和例子详解
2017/09/09 Python
python文件操作之批量修改文件后缀名的方法
2018/08/10 Python
使用Python实现一个栈判断括号是否平衡
2018/08/23 Python
Python装饰器限制函数运行时间超时则退出执行
2019/04/09 Python
python脚本实现音频m4a格式转成MP3格式的实例代码
2019/10/09 Python
pygame实现俄罗斯方块游戏(AI篇2)
2019/10/29 Python
python 实现绘制整齐的表格
2019/11/18 Python
python3.6连接mysql数据库及增删改查操作详解
2020/02/10 Python
Python离线安装各种库及pip的方法
2020/11/28 Python
十八届三中全会报告学习材料
2014/02/17 职场文书
历史专业大学生职业生涯规划书
2014/03/13 职场文书
企业业务员岗位职责
2014/03/14 职场文书
村居抓节水倡议书
2014/05/19 职场文书
上班迟到检讨书范文300字
2014/11/02 职场文书
2014年校务公开工作总结
2014/12/18 职场文书
2015年敬老月活动总结
2015/03/27 职场文书
花木兰观后感
2015/06/10 职场文书
pytest配置文件pytest.ini的详细使用
2021/04/17 Python
Mysql Online DDL的使用详解
2021/05/20 MySQL