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教程:新增加的结构伪类
Apr 02 HTML / CSS
CSS3绘制不规则图形的一些方法示例
Nov 07 HTML / CSS
css3实现六边形边框的实例代码
May 24 HTML / CSS
Android本地应用打开方法——通过html5写连接
Mar 11 HTML / CSS
html5-canvas中使用clip抠出一个区域的示例代码
May 25 HTML / CSS
X/HTML5 和 XHTML2
Oct 17 HTML / CSS
HTML5中的音频和视频媒体播放元素小结
Jan 29 HTML / CSS
ivx平台开发之不用代码实现一个九宫格抽奖功能
Jan 27 HTML / CSS
巧用 -webkit-box-reflect 倒影实现各类动效(小结)
Apr 22 HTML / CSS
css filter和getUserMedia的联合使用
Feb 24 HTML / CSS
基于CSS制作创意端午节专属加载特效
Jun 01 HTML / CSS
CSS中使用grid布局实现一套模板多种布局
Jul 15 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检测iis环境是否支持htaccess的方法
2014/02/18 PHP
ThinkPHP框架设计及扩展详解
2014/11/25 PHP
php随机取mysql记录方法小结
2014/12/27 PHP
php限制ip地址范围的方法
2015/03/31 PHP
PHPStrom 新建FTP项目以及在线操作教程
2016/10/16 PHP
PHP中的函数声明与使用详解
2017/05/27 PHP
thinkphp5框架结合mysql实现微信登录和自定义分享链接与图文功能示例
2019/08/13 PHP
用javascript实现兼容IE7的类库 IE7_0_9.zip提供下载
2007/08/08 Javascript
css把超出的部分显示为省略号的方法兼容火狐
2008/07/23 Javascript
jquery 锁定弹出层实现代码
2010/02/23 Javascript
在vs2010中调试javascript代码方法
2011/02/11 Javascript
Jquery实现带动画效果的经典二级导航菜单
2013/03/22 Javascript
Javascript倒计时页面跳转实例小结
2013/09/11 Javascript
javascript中call和apply方法浅谈
2013/09/27 Javascript
jquery下div 的resize事件示例代码
2014/03/09 Javascript
jQuery 写的简单打字游戏可以提示正确和错误的次数
2014/07/01 Javascript
js数组与字符串的相互转换方法
2014/07/09 Javascript
Nodejs+express+html5 实现拖拽上传
2014/08/08 NodeJs
JavaScript实现身份证验证代码
2016/02/17 Javascript
Angularjs material 实现搜索框功能
2016/03/08 Javascript
AngularJS指令与指令之间的交互功能示例
2016/12/14 Javascript
关于JS与jQuery中的文档加载问题
2017/08/22 jQuery
canvas+gif.js打造自己的数字雨头像的示例代码
2017/10/26 Javascript
纯JS实现的读取excel文件内容功能示例【支持所有浏览器】
2018/06/23 Javascript
Vue实现简单计算器案例
2020/02/25 Javascript
python爬取亚马逊书籍信息代码分享
2017/12/09 Python
Linux CentOS7下安装python3 的方法
2018/01/21 Python
浅谈pandas中shift和diff函数关系
2018/04/08 Python
python 从文件夹抽取图片另存的方法
2018/12/04 Python
用python爬取租房网站信息的代码
2018/12/14 Python
python 读取文件并把矩阵转成numpy的两种方法
2019/02/12 Python
python 列表输出重复值以及对应的角标方法
2019/06/11 Python
python实现录制全屏和选择区域录屏功能
2021/02/05 Python
工资收入证明
2014/10/07 职场文书
2019年入党思想汇报
2019/03/25 职场文书
Python中Selenium对Cookie的操作方法
2021/07/09 Python