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 相关文章推荐
详解CSS的border边框属性及其在CSS3中的新特性
May 10 HTML / CSS
利用CSS3的定位页面元素
Aug 29 HTML / CSS
使用css3和jquery实现可伸缩搜索框
Feb 12 HTML / CSS
CSS3中box-shadow的用法介绍
Jul 15 HTML / CSS
CSS3绘制圆角矩形的简单示例
Sep 28 HTML / CSS
CSS3实现背景透明文字不透明的示例代码
Jun 25 HTML / CSS
canvas学习笔记之绘制简单路径
Jan 28 HTML / CSS
html5 css3网站菜单实现代码
Dec 23 HTML / CSS
深入解析HTML5 Canvas控制图形矩阵变换的方法
Mar 24 HTML / CSS
前端实现弹幕效果的方法总结(包含css3和canvas的实现方式)
Jul 12 HTML / CSS
浅析HTML5 meta viewport参数
Oct 28 HTML / CSS
使用 CSS 轻松实现一些高频出现的奇形怪状按钮
Dec 06 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
日本十大科幻动漫 宇宙骑士垫底,第一已成经典
2020/03/04 日漫
PHP_MySQL教程-第一天
2007/03/18 PHP
深入extjs与php参数交互的详解
2013/06/25 PHP
Server.HTMLEncode让代码在页面里显示为源代码
2013/12/08 PHP
使用php测试硬盘写入速度示例
2014/01/27 PHP
PHP实现自动对图片进行滚动显示的方法
2015/03/12 PHP
Javascript实例教程(19) 使用HoTMetal(4)
2006/12/23 Javascript
JS 强制设为首页的代码
2009/01/31 Javascript
jquery JSON的解析方式
2009/07/25 Javascript
jquery制做精致的倒计时特效
2016/06/13 Javascript
JS实现pasteHTML兼容ie,firefox,chrome的方法
2016/06/22 Javascript
JS实现将数字金额转换为大写人民币汉字的方法
2016/08/02 Javascript
Vue列表页渲染优化详解
2017/07/24 Javascript
浅谈函数调用的不同方式,以及this的指向
2017/09/17 Javascript
vuejs使用$emit和$on进行组件之间的传值的示例
2017/10/04 Javascript
JS实现的全排列组合算法示例
2017/10/09 Javascript
ES6 如何改变JS内置行为的代理与反射
2019/02/11 Javascript
JavaScript实现的滚动公告特效【基于jQuery】
2019/07/10 jQuery
如何利用vue实现波谱拟合详解
2020/11/05 Javascript
详尽讲述用Python的Django框架测试驱动开发的教程
2015/04/22 Python
python list是否包含另一个list所有元素的实例
2018/05/04 Python
基于windows下pip安装python模块时报错总结
2018/06/12 Python
Flask之flask-session的具体使用
2018/07/26 Python
tensorflow求导和梯度计算实例
2020/01/23 Python
python实现logistic分类算法代码
2020/02/28 Python
基于Python采集爬取微信公众号历史数据
2020/11/27 Python
个人自我评价分享
2013/12/20 职场文书
大学英语演讲稿(中英文对照)
2014/01/14 职场文书
财务总监岗位职责
2014/03/07 职场文书
2014县政府领导班子对照检查材料思想汇报
2014/09/25 职场文书
2014年乡镇民政工作总结
2014/12/02 职场文书
2015年读书月活动总结
2015/03/26 职场文书
2015年城市管理工作总结
2015/05/23 职场文书
导游词之徐州-云龙山
2019/09/29 职场文书
Redis做数据持久化的解决方案及底层原理
2021/07/15 Redis
SQL Server实现分页方法介绍
2022/03/16 SQL Server