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教程:边框属性border的极致应用
Apr 02 HTML / CSS
CSS3的resize属性使用初探
Sep 27 HTML / CSS
CSS3绘制不规则图形的一些方法示例
Nov 07 HTML / CSS
实例讲解CSS3中的box-flex弹性盒属性布局
Jun 09 HTML / CSS
基于Canvas+Vue的弹幕组件的实现
Jul 23 HTML / CSS
HTML5 window/iframe跨域传递消息 API介绍
Aug 26 HTML / CSS
HTML5 Canvas中使用路径描画二阶、三阶贝塞尔曲线
Jan 01 HTML / CSS
配置H5的滚动条样式的示例代码
Mar 09 HTML / CSS
HTML5 新表单类型示例代码
Mar 20 HTML / CSS
HTML5 input新增type属性color颜色拾取器的实例代码
Aug 27 HTML / CSS
Canvas中设置width与height的问题浅析
Nov 01 HTML / CSS
CSS完成视差滚动效果
Apr 27 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
PHP5 面向对象(学习记录)
2009/12/02 PHP
CI框架源码阅读,系统常量文件constants.php的配置
2013/02/28 PHP
thinkphp验证码的实现(form、ajax实现验证)
2016/07/28 PHP
THinkPHP获取客户端IP与IP地址查询的方法
2016/11/14 PHP
Javascript下的keyCode键码值表
2007/04/10 Javascript
基于jquery的web页面日期格式化插件
2011/11/15 Javascript
JQuery入门—编写一个简单的JQuery应用案例
2013/01/03 Javascript
详解基于Angular4+ server render(服务端渲染)开发教程
2017/08/28 Javascript
Vue 中批量下载文件并打包的示例代码
2017/11/20 Javascript
web前端vue之CSS过渡效果示例
2018/01/10 Javascript
浅谈React 服务器端渲染的使用
2018/05/08 Javascript
JavaScript设计模式之构造器模式(生成器模式)定义与用法实例分析
2018/07/26 Javascript
React 全自动数据表格组件——BodeGrid的实现思路
2019/06/12 Javascript
ES6 Array常用扩展的应用实例分析
2019/06/26 Javascript
微信小程序实现页面分享onShareAppMessage
2019/08/12 Javascript
layui表格数据复选框回显设置方法
2019/09/13 Javascript
vue内置组件component--通过is属性动态渲染组件操作
2020/07/28 Javascript
[02:06]DOTA2英雄基础教程 暗影萨满
2013/12/16 DOTA
[03:48]DOTA2完美大师赛主赛事第二日精彩集锦
2017/11/24 DOTA
[01:42:49]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第一场 2月26日
2021/03/11 DOTA
python基础教程之五种数据类型详解
2017/01/12 Python
Python线程之定位与销毁的实现
2019/02/17 Python
Python统计学一数据的概括性度量详解
2020/03/03 Python
python 使用paramiko模块进行封装,远程操作linux主机的示例代码
2020/12/03 Python
Python爬虫之Selenium实现关闭浏览器
2020/12/04 Python
李宁官方网店:中国运动品牌
2017/11/02 全球购物
阿迪达斯希腊官方网上商店:adidas希腊
2019/04/06 全球购物
小车司机岗位职责
2013/11/25 职场文书
商务会议邀请函
2014/01/09 职场文书
大学活动邀请函
2014/01/28 职场文书
巡警年度自我鉴定
2014/02/21 职场文书
资料员岗位职责范本
2015/04/13 职场文书
公司回复函格式
2015/07/14 职场文书
2015小学毕业班工作总结
2015/07/21 职场文书
pytorch Dropout过拟合的操作
2021/05/27 Python
未发现nvidia显卡怎么办?Win11系统中未检测到nvidia显卡解决教程
2022/04/08 数码科技