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实现炫酷的飞机起飞动画
Sep 17 HTML / CSS
CSS3样式linear-gradient的使用实例
Jan 16 HTML / CSS
css3实现一款模仿iphone样式的注册表单
Mar 20 HTML / CSS
CSS3图片旋转特效(360/60/-360度)
Oct 10 HTML / CSS
CSS3绘制圆角矩形的简单示例
Sep 28 HTML / CSS
html5开发之viewport使用
Oct 17 HTML / CSS
移动端html5 meta标签的神奇功效
Jan 06 HTML / CSS
如何用canvas实现在线签名的示例代码
Jul 10 HTML / CSS
做一个能自适应高度的textarea的示例代码
Sep 06 HTML / CSS
HTML5自定义元素播放焦点图动画的实现
Sep 25 HTML / CSS
高清屏下canvas重置尺寸引发的问题的解决
Oct 14 HTML / CSS
canvas 基础之图像处理的使用
Apr 10 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之uniqid()函数用法
2014/11/03 PHP
php获取随机数组列表的方法
2014/11/13 PHP
php提交表单发送邮件的方法
2015/03/20 PHP
PHP仿微信多图片预览上传实例代码
2016/09/13 PHP
PHP设计模式(七)组合模式Composite实例详解【结构型】
2020/05/02 PHP
关于JavaScript中var声明变量作用域的推断
2010/12/16 Javascript
深入document.write()与HTML4.01的非成对标签的详解
2013/05/08 Javascript
jQuery选择器源码解读(八):addCombinator函数
2015/03/31 Javascript
js小数运算出现多位小数如何解决
2015/10/08 Javascript
js操作DOM--添加、删除节点的简单实例
2016/07/08 Javascript
AngularJS 中ui-view传参的实例详解
2017/08/25 Javascript
[js高手之路]设计模式系列课程-发布者,订阅者重构购物车的实例
2017/08/29 Javascript
AngularJS实现controller控制器间共享数据的方法示例
2017/10/30 Javascript
ES6知识点整理之对象解构赋值应用示例
2019/04/17 Javascript
vue+elementUI实现表单和图片上传及验证功能示例
2019/05/14 Javascript
vue2配置scss的方法步骤
2019/06/06 Javascript
微信自定义分享链接信息(标题,图片和内容)实现过程详解
2019/09/04 Javascript
vue element el-transfer增加拖拽功能
2021/01/15 Vue.js
Python解析xml中dom元素的方法
2015/03/12 Python
python实现将文本转换成语音的方法
2015/05/28 Python
Python 遍历子文件和所有子文件夹的代码实例
2016/12/21 Python
python+opencv识别图片中的圆形
2020/03/25 Python
python实现守护进程、守护线程、守护非守护并行
2018/05/05 Python
python通过ffmgep从视频中抽帧的方法
2018/12/05 Python
对python读写文件去重、RE、set的使用详解
2018/12/11 Python
Python 解析pymysql模块操作数据库的方法
2020/02/18 Python
CSS3中的弹性布局em运用入门详解 1em等于多少像素
2021/02/08 HTML / CSS
Nº21官方在线商店:numeroventuno.com
2019/09/26 全球购物
一组SQL面试题
2016/02/15 面试题
利达恒信公司.NET笔试题面试题
2016/03/05 面试题
办理暂住证介绍信
2014/01/11 职场文书
毕业生学校推荐信范文
2014/05/21 职场文书
城市创卫标语
2014/06/17 职场文书
群众路线批评与自我批评发言稿
2014/10/16 职场文书
公司放假通知怎么写
2015/04/15 职场文书
python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
2022/04/06 Python