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实现div从下往上滑入滑出效果示例
Apr 28 HTML / CSS
用HTML5实现网站在windows8中贴靠的方法
Apr 21 HTML / CSS
HTML5 Canvas中绘制矩形实例
Jan 01 HTML / CSS
HTML5中原生的右键菜单创建方法
Jun 28 HTML / CSS
有关HTML5页面在iPhoneX适配问题
Nov 13 HTML / CSS
深入理解HTML5定时器requestAnimationFrame的使用
Dec 12 HTML / CSS
HTML5 Blob 实现文件下载功能的示例代码
Nov 29 HTML / CSS
HTML5 实现图片上传预处理功能
Feb 06 HTML / CSS
浅析数据存储的三种方式 cookie sessionstorage localstorage 的异同
Jun 04 HTML / CSS
CSS变量实现主题切换的方法
Jun 23 HTML / CSS
CSS元素定位之通过元素的标签或者元素的id、class属性定位详解
Sep 23 HTML / CSS
Li list-style-image 图片垂直居中实现方法
May 21 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之curl设置超时实例
2014/11/03 PHP
PHP中的类型约束介绍
2015/05/11 PHP
php排序算法实例分析
2016/10/17 PHP
php实现简单加入购物车功能
2017/03/07 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
2019/12/20 PHP
window.showModalDialog使用手册
2007/01/11 Javascript
jquery.validate分组验证代码
2011/03/17 Javascript
js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)
2013/12/11 Javascript
javascript 小数取整简单实现方式
2014/05/30 Javascript
javascript中关于&amp;&amp; 和 || 表达式的小技巧分享
2015/04/10 Javascript
JS实用的动画弹出层效果实例
2015/05/05 Javascript
深入分析jQuery的ready函数是如何工作的(工作原理)
2015/12/17 Javascript
javascript拖拽应用实例
2016/03/25 Javascript
jQuery+CSS3实现仿花瓣网固定顶部位置带悬浮效果的导航菜单
2016/09/21 Javascript
深入理解react-router@4.0 使用和源码解析
2017/05/23 Javascript
JS FormData上传文件的设置方法
2017/07/05 Javascript
JavaScript实现省市联动过程中bug的解决方法
2017/12/04 Javascript
仿淘宝JSsearch搜索下拉深度用法
2018/01/15 Javascript
详解js跨域请求的两种方式,支持post请求
2018/05/05 Javascript
深入理解nodejs搭建静态服务器(实现命令行)
2019/02/05 NodeJs
js实现带有动画的返回顶部
2020/08/09 Javascript
OpenLayers3实现测量功能
2020/09/25 Javascript
[01:03:51]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第三场
2018/04/09 DOTA
Python实现根据指定端口探测服务器/模块部署的方法
2014/08/25 Python
深入理解Python 关于supper 的 用法和原理
2018/02/28 Python
python3 pandas 读取MySQL数据和插入的实例
2018/04/20 Python
详解Python中的各种转义符\n\r\t
2019/07/10 Python
python中的django是做什么的
2020/07/31 Python
Python 操作SQLite数据库的示例
2020/10/16 Python
Stylenanda中文站:韩国一线网络服装品牌
2016/12/22 全球购物
企业精细化管理实施方案
2014/03/23 职场文书
社区食品安全实施方案
2014/03/28 职场文书
晚会开幕词
2015/01/28 职场文书
个人委托函范文
2015/01/29 职场文书
导游词怎么写
2015/02/04 职场文书
民事上诉状范文
2015/05/22 职场文书