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插件HighCharts绘制简单2D柱状图效果示例【附demo源码】
Mar 21 jQuery
推荐三款日期选择插件(My97DatePicker、jquery.datepicker、Mobiscroll)
Apr 21 jQuery
node.js+jQuery实现用户登录注册AJAX交互
Apr 28 jQuery
jquery图片放大镜效果
Jun 23 jQuery
关于jquery中attr()和prop()方法的区别
May 28 jQuery
深入浅析angular和vue还有jquery的区别
Aug 13 jQuery
利用jquery和BootStrap实现动态滚动条效果
Dec 03 jQuery
jQuery选择器之基本过滤选择器用法实例分析
Feb 19 jQuery
JQuery常见节点操作实例分析
May 15 jQuery
JavaScript实现的滚动公告特效【基于jQuery】
Jul 10 jQuery
jQuery实现图片下载代码
Jul 18 jQuery
jQuery实现飞机大战小游戏
Jul 05 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
php知道与问问的采集插件代码
2010/10/12 PHP
关于php内存不够用的快速解决方法
2013/10/26 PHP
PHP 枚举类型的管理与设计知识点总结
2020/02/13 PHP
javascript获取作用在元素上面的样式属性代码
2012/09/20 Javascript
在页面加载完成后通过jquery给多个span赋值
2014/05/21 Javascript
jQuery提交多个表单的小技巧
2014/07/27 Javascript
JavaScript 面向对象与原型
2015/04/10 Javascript
JavaScript检测并限制复选框选中个数的方法
2015/08/12 Javascript
原生JS实现风箱式demo,并封装了一个运动框架(实例代码)
2016/07/22 Javascript
JavaScript 继承详解(五)
2016/10/11 Javascript
JavaScript中使用webuploader实现上传视频功能(demo)
2017/04/10 Javascript
JavaScript使用FileReader实现图片上传预览效果
2020/03/27 Javascript
vue组件横向树实现代码
2018/08/02 Javascript
详解Vue CLI 3.0脚手架如何mock数据
2018/11/23 Javascript
vue计算属性get和set用法示例
2019/02/08 Javascript
vue 源码解析之虚拟Dom-render
2019/08/26 Javascript
vue实现在v-html的html字符串中绑定事件
2019/10/28 Javascript
JavaScript进阶(四)原型与原型链用法实例分析
2020/05/09 Javascript
js实现碰撞检测
2021/01/29 Javascript
零基础写python爬虫之抓取百度贴吧代码分享
2014/11/06 Python
PYTHON 中使用 GLOBAL引发的一系列问题
2016/10/12 Python
python实现两个文件合并功能
2018/04/01 Python
Numpy中的mask的使用
2018/07/21 Python
django的聚合函数和aggregate、annotate方法使用详解
2019/07/23 Python
Python基础教程(一)——Windows搭建开发Python开发环境
2020/07/20 Python
浅谈css3新单位vw、vh、vmin、vmax的使用详解
2017/12/01 HTML / CSS
Canvas多边形绘制的实现方法
2019/08/05 HTML / CSS
光电信息专业应届生求职信
2013/10/07 职场文书
后勤园长自我鉴定
2013/10/17 职场文书
大学生个人简历自我评价
2013/11/16 职场文书
简历中自我评价范文3则
2013/12/14 职场文书
2015年员工试用期工作总结
2015/05/28 职场文书
格林童话读书笔记
2015/06/30 职场文书
2015年教学副校长工作总结
2015/07/22 职场文书
《抽屉原理》教学反思
2016/02/20 职场文书
pandas取dataframe特定行列的实现方法
2021/05/24 Python