jQuery中event.target和this的区别详解


Posted in jQuery onAugust 13, 2020

this和event.target的区别:

1.js中事件是会冒泡的,所以this是可以变化的,但event.target不会变化,它永远指向触发事件的DOM元素本身;

2.this和event.target都是dom对象,使用jQuey中的方法可以将他们转换为jquery对象:$(this)和$(event.target).

比如,一个很简单的例子.

$(event.target)指向触发事件的元素. 当点击蓝色小方框时, 蓝色小方框会变成橙色, 但其外围的大方框不会变色, 即没有触发事件的冒泡行为.

点击前: jQuery中event.target和this的区别详解 点击后: jQuery中event.target和this的区别详解

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title></title>
 <style type="text/css">
  *{
  margin: 0;
  padding: 0;
  }
  #big {
  width: 200px;
  height: 200px;
  background-color: gray;
  }
  #small {
  width: 100px;
  height: 100px;
  background-color: blue;
  margin: 0 auto;
  }
 </style>
 </head>
 <body>
 <div id="big">
 <div id="small"></div>
 </div>
 <script src="js/jquery-2.2.4.min.js" type="text/javascript" charset="utf-8"></script>
 <script type="text/javascript">
 $("div, input").click(function (event) {
  $(event.target).css("background-color", "orange");
 });
 </script>
 </body>
</html>

$(this)指向触发事件的元素. 当点击蓝色小方框时,蓝色小方框会变橙色, 同时其外围的灰色大方框也会变成橙色, 也就是说当用this获取触发事件的元素会引起事件的冒泡.

点击前: jQuery中event.target和this的区别详解 点击后: jQuery中event.target和this的区别详解

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title></title>
 <style type="text/css">
  *{
  margin: 0;
  padding: 0;
  }
  #big {
  width: 200px;
  height: 200px;
  background-color: gray;
  }
  #small {
  width: 100px;
  height: 100px;
  background-color: blue;
  margin: 0 auto;
  }
 </style>
 </head>
 <body>
 <div id="big">
 <div id="small"></div>
 </div>
 <script src="js/jquery-2.2.4.min.js" type="text/javascript" charset="utf-8"></script>
 <script type="text/javascript">
 $("div, input").click(function () {
  $(this).css("background-color", "orange");
 })
 </script>
 </body>
</html>

例二

onclick = changeImg(this)       vs     onclick = changeImg(event)

<img src='usa.gif' onclick="changeImg(event)" />
<script>
var myImages = [


'usa.gif','canada.gif','jamaica.gif','mexico.gif'

];

function changeImg(e) {


var el = e.target;


var newImgNumber = Math.round(Math.round()*3);


while(el.src.indexOf(myImages[newImgNumber]) != -1){



el.src =myImages[newImgNumber];


}

}
</script>

this是Javascript语言的一个关键字。

this代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。

this和event.target的区别:

js中事件是会冒泡的,所以this是可以变化的,但event.target不会变化(在事件触发时,只传递当前event对象的引用),它永远是直接接受事件的目标DOM元素;

另外,this和event.target都是dom对象,如果要使用jquey中的方法可以将他们转换为jquery对象:$(this)和$(event.target);

到此这篇关于jQuery中event.target和this的区别详解的文章就介绍到这了,更多相关jQuery中event.target和this内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

jQuery 相关文章推荐
jQuery 实现鼠标画框并对框内数据选中的实例代码
Aug 29 jQuery
jquery操作ul的一些操作笔记整理(干货)
Aug 31 jQuery
JS和JQuery实现雪花飘落效果
Nov 30 jQuery
jQuery阻止事件冒泡实例分析
Jul 03 jQuery
jQuery pagination分页示例详解
Oct 23 jQuery
jQuery实现的点击图片居中放大缩小功能示例
Jan 16 jQuery
jQuery each和js forEach用法比较
Feb 27 jQuery
jquery操作checkbox的常用方法总结【附测试源码下载】
Jun 10 jQuery
jquery图片预览插件实现方法详解
Jul 18 jQuery
非常实用的jQuery代码段集锦【检测浏览器、滚动、复制、淡入淡出等】
Aug 08 jQuery
JQuery获得内容和属性方法解析
May 30 jQuery
jQuery实现查看图片功能
Dec 01 jQuery
JQuery通过键盘控制键盘按下与松开触发事件
Aug 07 #jQuery
Jquery cookie插件实现原理代码解析
Aug 04 #jQuery
jQuery实现雪花飘落效果
Aug 02 #jQuery
jQuery实现滑动开关效果
Aug 02 #jQuery
jQuery实现开关灯效果
Aug 02 #jQuery
jquery轮播图插件使用方法详解
Jul 31 #jQuery
jQuery带控制按钮轮播图插件
Jul 31 #jQuery
You might like
Classes and Objects in PHP5-面向对象编程 [1]
2006/10/09 PHP
ionCube 一款类似zend的PHP加密/解密工具
2010/07/25 PHP
在Laravel框架里实现发送邮件实例(邮箱验证)
2016/05/20 PHP
PHP水印类,支持添加图片、文字、填充颜色区域的实现
2017/02/04 PHP
PHP常见的序列化与反序列化操作实例分析
2019/10/28 PHP
InnerHtml和InnerText的区别分析
2009/03/13 Javascript
深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP
2012/01/15 Javascript
js前台分页显示后端JAVA数据响应
2013/03/18 Javascript
jquery ui对话框实例代码
2013/05/10 Javascript
js遍历、动态的添加数据的小例子
2013/06/22 Javascript
JavaScript中函数表达式和函数声明及函数声明与函数表达式的不同
2015/11/15 Javascript
js和jq使用submit方法无法提交表单的快速解决方法
2016/05/17 Javascript
jQuery.uploadify文件上传组件实例讲解
2016/09/23 Javascript
微信小程序滚动Tab实现左右可滑动切换
2017/08/17 Javascript
基于wordpress的ajax写法详解
2018/01/02 Javascript
JS匿名函数内部this指向问题详析
2019/05/10 Javascript
[02:49]DOTA2完美大师赛首日观众采访
2017/11/23 DOTA
Python实现获取某天是某个月中的第几周
2015/02/11 Python
Python生成器(Generator)详解
2015/04/13 Python
Python解析nginx日志文件
2015/05/11 Python
Nginx搭建HTTPS服务器和强制使用HTTPS访问的方法
2015/08/16 Python
python opencv旋转图像(保持图像不被裁减)
2018/07/26 Python
罗马尼亚在线杂货店:Pilulka.ro
2019/09/28 全球购物
PHP面试题大全
2015/10/16 面试题
出纳岗位职责范本
2013/12/01 职场文书
毕业生的自我评价
2013/12/30 职场文书
政法学院毕业生求职信
2014/02/28 职场文书
《故乡》教学反思
2014/04/10 职场文书
中学生运动会口号
2014/06/07 职场文书
护理实习生带教计划
2015/01/16 职场文书
佛光寺导游词
2015/02/10 职场文书
小学生节水倡议书
2015/04/29 职场文书
领导莅临指导欢迎词
2015/09/30 职场文书
人身损害赔偿协议书
2016/03/22 职场文书
python Polars库的使用简介
2021/04/21 Python
MySQL中优化SQL语句的方法(show status、explain分析服务器状态信息)
2022/04/09 MySQL