event.target的第一次
今天在学习其他人代码的时候见到了event.target.nodeName,event.target.dataset。刚开始是一头雾水,便google一下。发现大多数给出的词条都是有关jQuery事件中的target属性,半天也没有找到js中event.target到底还有哪些用法。找着找着就觉得自己怎么这么傻。。for in 一下自己找不就好了。。代码如下:
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
</head>
<body>
<button id="btn" class="aichihuamei">爱吃话梅</button>
<script type="text/javascript">
var $ = function(id){
return document.getElementById(id);
}
$("btn").onclick = function(event){
for(var i in event.target){
console.log(i+"-------"+event.target[i]);
}
}
</script>
</body>
</html>
点击按钮,在控制台中就可以看到event.target的很多属性和方法。我在下列的图中圈出了一些,相信这些不需要详细解释,对应上方代码就可以看出来要怎么使用(哈哈,又多了一种方法)


这次遇到的问题有两个点
一:tagName所对应的要大写;
二:dataset的使用
这是个非常神奇的东西,先看代码:
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
</head>
<body>
<button id="btn" data-a="a" data-b="b" data-c-d-e="cde" class="aichihuamei">爱吃话梅</button>
<script type="text/javascript">
var $ = function(id){
return document.getElementById(id);
}
$("btn").onclick = function(event){
for(var i in event.target){
console.log(i+"-------"+event.target[i]);
}
console.log(event.target.dataset.a);//a
console.log(event.target.dataset.b);//b
console.log(event.target.dataset.cDE);//cde
}
</script>
</body>
</html>
代码修改的部分已用黄色标出,在标签中加入data-sth,当触发某个事件的时候,可以通过event.target.dataset.sth找到,注意两点,在输入时要忽略"-",除了第一个"-"后的名称,以后的名称都要大写,除了事件调用dataset,还用一种HTMLElement.dataset的用法,其他更多的理解,可以参考以下两篇文章:
https://developer.mozilla.org/zh-CN/docs/Web/API/HTMLElement/dataset
http://blog.csdn.net/yh0205039/article/details/51003317
event.target的第一次的更多相关文章
- window.event.srcElement与window.event.target 触发事件的元素
IE浏览器支持window.event.srcElement , 而firefox支持window.event.target:<input type="text" onblu ...
- jquery this 和 event.target 区别
1.this和event.target的区别: js中事件是会冒泡的,所以this是可以变化的,但event.target不会变化,它永远是直接接受事件的目标DOM元素: 2.this和event.t ...
- Javascript中event.srcElement和event.target的区别
event.srcElement 可以捕获当前事件作用的对象,如event.srcElement.tagName可以捕获活动标记名称.注意获取的标记都以大写表示,如"TD",&qu ...
- 【前端】event.target 和 event.currentTarget 的区别
event.target 和 event.currentTarget 的区别 举例说明: <!DOCTYPE html> <html> <head> <tit ...
- event.target指向谁?
学习中,有时遇到event.target,总是不明白为什么要用target,后来学习了下,大概了解了event.target到底指什么元素了,关于event和this的内容,下回再说: 先摆结论:ev ...
- js中event.target
event.srcElement从字面上可以看出来有以下关键字:事件,源 他的意思就是:当前事件的源, 我们可以调用他的各种属性 就像:document.getElementById(&quo ...
- 捕获当前事件作用的对象event.target和event.srcElement
语法: //返回事件的目标节点(触发该事件的节点). event.target //FF,Chrome event.srcElement //IE 栗子: var oDiv=document.getE ...
- js的event.srcElement与event.target(触发事件对象)
IE下,event对象有srcElement属性,但是没有target属性; Firefox下,event对象有target属性,但是没有srcElement属性.但他们的作用是相当的,即: fire ...
- ie9及以下不兼容event.target.dataset对象
ie9及以下不兼容event.target.dataset对象,请使用event.target.getAttribute('data-xxx')
随机推荐
- MapReduce 简单的全文搜索
上一个已经实现了反向索引,那么为什么不尝试下全文搜索呢.例如有了 Hello file3.txt:1; MapReduce file3.txt:2;fil1.txt:1;fil2.tx ...
- 《javascript语言精粹》——第3章对象
第三章:对象: 属性名字:可以是包括空字符串在内的任意字符串: 属性值:是除undefined值之外的任何值; [1].对象字面量: var obj={}; //空对象 var obj = new O ...
- Undefined symbols for architecture armv7错误解决方法
Undefined symbols for architecture armv7: "_OBJC_CLASS_$_BriefMainModel", referenced from: ...
- IOS手势识别,捏合,旋转,轻扫等
ref:http://blog.csdn.net/rechard_chen/article/details/51769972 //点按手势的创建,这里需要实现响应事件的方法 UITapGestur ...
- Memcached源码分析之thread.c
/* * 文件开头先啰嗦几句: * * thread.c文件代表的是线程模块.但是你会看到这个模块里面有很多其它方法, 例如关于item的各种操作函数,item_alloc,item_remove,i ...
- Vector类
/* * Vector的特有功能 * * Vector出现较早,比集合更早出现 * * 1:添加功能 * public void addElement(Object obj);//用add()替代 * ...
- 搭建NDK环境
2014.07.14 搭建OK,但是目前只能手动编译c代码,具体不清楚.
- 弹出式菜单(下拉菜单)实现——PopupMenu
PopupMenu代表弹出式菜单,它会在指定组件上弹出PopupMenu,默认情况下,PopupMenu会显示在该组件的下方或上方.PopupMenu可增加多个菜单项,并可为菜单项增加子菜单. 使用P ...
- 安卓弹出对话框——AlertDialog(二)
在Android中,启动一个对话框有三种方式: 1.定义一个新的activity,并将其主题设置为对话框风格 2.使用AlertDialog类,并且显示它 3.使用 Android的Dialog类的子 ...
- 《C++ Primer》 chapter 15 TextQuery
<C++ Primer>中第15章为了讲解面向对象编程,举了一个例子:设计一个小程序,能够处理查询给定word在文件中所在行的任务,并且能够处理“非”查询,“或”查询,“与”查询.例如执行 ...