thisevent.target

在编写事件函数时可以传入一个event参数,even参数可以使用一个target属性如even.target用以调用,其作用是指向返回事件的目标节点触发该事件的节点),这与this是有区别的。 
在js中事件属性是会冒泡的,所以在这情况下,如果选用this,那么this是随时变化的,它指向的总是当前触发的事件,而even.target则是仅仅指向触发该事件的节点。

举例子说明:

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>e.target</title>
<script src="jquery-3.2.1.js"></script>
</head>
<body>
<div id="temp"></div>
<ul class="JQ-content-box" style="padding:20px; background:#FFFFFF">
<li>第一行
<ul>
<li>这是公告标题1</li>
<li>这是公告标题2</li>
<li>这是公告标题3</li>
<li>这是公告标题4</li>
</ul>
</li>
</ul>
<script>
$(function(){
$("li").on("click",function(e){
alert('e.target'+e.target.innerText);
alert('this'+this.innerText);
$("#temp").html("clicked: " + e.target.nodeName);
$(this).css("color","#FF3300");
$(e.target).css("color",'blu');
})
});
</script>
</body>
</html>

上述的例子可以发现,绑定的事件是一个冒泡事件,即假如点击“公告标题”的li,它会先触发自身的click事件,然后因事件冒泡再触发因父元素也绑定的click事件。 
所以此时弹出的窗口共有4次,每两次为一组代表子元素与父元素,其中e.target一直指向触发该事件的节点,而this则随着事件的冒泡而不断变化。

注意:thise.target是JavaScript对象,$(this)$(e.target)是jQuery对象

data-*属性

很多时候想要一些节点与某些节点之间创建一些映射时,除了使用$(this).index()取出索引属性对二者进行比较外,还会使用到HTML5中的data-*属性,比方说在一个节点设定一个data-id="b"的属性,然后再想要映射的节点创建一个id="b"的属性,那么就可以使用data()方法建立映射,如:

var $a = $('#a');
var $b = $('#'+$a.data('id'));

最新文章

  1. js获取当前域名、Url、相对路径和参数以及指定参数
  2. 汇编实现点亮Led灯(2440)
  3. js cookie
  4. 【转】nanosleep的精度与调度算法的关系 来自:bean.blog.chinaunix.net
  5. iOS之 随笔Xcode7的lipo
  6. PLSQL_闪回操作5_Flashback Table
  7. Linux 网络故障排查
  8. HTML5教程:课时一HTML简介
  9. WPF概述
  10. Chapter 1 First Sight——9
  11. 期待微软平台即服务技术Service Fabric 开源
  12. kickstart无人值守
  13. Lnmp下pureftpd新建FTP账户权限不足解决方法
  14. Android ble蓝牙问题
  15. 软件测试-homework3
  16. spark中的combineByKey函数的用法
  17. Python学习基础(三)——装饰器,列表生成器,斐波那契数列
  18. mac系统默认python3.6
  19. /文件和目录权限chmod /更改所有者和所属组chown/umask/隐藏权限lsattr/chattr
  20. 敏感词过滤和XML的创建

热门文章

  1. react在视频中截图,保存为base64位
  2. CSS中的 vh/vw
  3. 定时器的写法 winform
  4. k8s-dashboard搭建
  5. luogu 4366 [Code+#4]最短路 Dijkstra + 位运算 + 思维
  6. Selenium 详解xpath定位
  7. Linux root用户密码重置,远程登陆,文件基本属性
  8. Elasticsearch Java Rest Client API 整理总结 (一)
  9. kafka window安装与配置
  10. idea中git回退本地仓库版本