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的Sass预处理器(框架)来制作居中效果
Mar 10 HTML / CSS
css3制作动态进度条以及附加jQuery百分比数字显示
Dec 13 HTML / CSS
css3 仿写阿里云水纹效果的示例代码
Feb 10 HTML / CSS
css3实现蒙版弹幕功能
Jun 18 HTML / CSS
CSS3实现莲花绽放的动画效果
Nov 06 HTML / CSS
CSS3 实现图形下落动画效果
Nov 13 HTML / CSS
HTML5 语音搜索(淘宝店语音搜素)
Jan 03 HTML / CSS
HTML5中5个简单实用的API(第二篇,含全屏、可见性、拍照、预加载、电池状态)
May 07 HTML / CSS
Canvas制作的下雨动画的示例
Mar 06 HTML / CSS
ivx平台开发之不用代码实现一个九宫格抽奖功能
Jan 27 HTML / CSS
巧用 -webkit-box-reflect 倒影实现各类动效(小结)
Apr 22 HTML / CSS
web前端之css水平居中代码解析
May 20 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错误信息方法的详解
2013/06/09 PHP
PHP实现的MongoDB数据库操作类分享
2014/05/12 PHP
PHP中遇到BOM、编码导致json_decode函数无法解析问题
2014/07/02 PHP
培养自己的php编码规范
2015/09/28 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
2017/09/17 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
jquery 指南/入门基础
2007/11/30 Javascript
火狐浏览器(firefox)下获得Event对象以及keyCode
2008/11/13 Javascript
img标签中onerror用法
2009/08/13 Javascript
JS控制图片等比例缩放的示例代码
2013/12/24 Javascript
js检验密码强度(低中高)附图
2014/06/05 Javascript
jquery常用操作小结
2014/07/21 Javascript
详解javascript传统方法实现异步校验
2016/01/22 Javascript
前端弹出对话框 js实现ajax交互
2016/09/09 Javascript
深入浅析AngularJS中的一次性数据绑定 (bindonce)
2017/05/11 Javascript
vue 实现强制类型转换 数字类型转为字符串
2019/11/07 Javascript
在vue中使用echarts(折线图的demo,markline用法)
2020/07/20 Javascript
js实现限定范围拖拽的示例
2020/10/26 Javascript
[01:50:49]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第三场 1月24日
2021/03/11 DOTA
Python同时向控制台和文件输出日志logging的方法
2015/05/26 Python
Python实现1-9数组形成的结果为100的所有运算式的示例
2017/11/03 Python
pandas DataFrame 交集并集补集的实现
2019/06/24 Python
Python 的字典(Dict)是如何存储的
2019/07/05 Python
Python3操作Excel文件(读写)的简单实例
2019/09/02 Python
Python上下文管理器全实例详解
2019/11/12 Python
pycharm 2018 激活码及破解补丁激活方式
2020/09/21 Python
python程序如何进行保存
2020/07/03 Python
Python 实现 T00ls 自动签到脚本代码(邮件+钉钉通知)
2020/07/06 Python
如何用Python编写一个电子考勤系统
2021/02/08 Python
html5播放视频且动态截图实现步骤与代码(支持safari其他未测试)
2013/01/06 HTML / CSS
在线购买世界上最好的酒:BoozeBud
2018/06/07 全球购物
孕妇内衣和胸罩:Cake Maternity
2018/07/16 全球购物
Theflamel意大利:女士奢华服装、鞋子和配件
2020/01/11 全球购物
班子查摆四风个人对照检查材料思想汇报
2014/10/04 职场文书
《一面五星红旗》教学反思
2016/02/23 职场文书
Java版 单机五子棋
2022/05/04 Java/Android