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 tip提示插件(实例分享)
Apr 28 jQuery
jQuery中hover方法搭配css的hover选择器,实现选中元素突出显示方法
May 08 jQuery
jQuery遍历节点方法汇总(推荐)
May 13 jQuery
基于jQuery的表单填充实例
Aug 22 jQuery
jQuery图片查看插件Magnify开发详解
Dec 25 jQuery
jquery点击回车键实现登录效果并默认焦点的方法
Mar 09 jQuery
JS文件中加载jquery.js的实例代码
May 05 jQuery
jQuery 实现批量提交表格多行数据的方法
Aug 09 jQuery
jQuery实现的简单手风琴效果示例
Aug 29 jQuery
使用异步controller与jQuery实现卷帘式分页
Jun 18 jQuery
jquery弹窗时禁止body滚动条滚动的例子
Sep 21 jQuery
jQuery插件simplePagination的使用方法示例
Apr 28 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获取MAC地址的函数代码
2011/09/11 PHP
PHP表单提交表单名称含有点号(.)则会被转化为下划线(_)
2011/12/14 PHP
php不使用copy()函数复制文件的方法
2015/03/13 PHP
php源码分析之DZX1.5字符串截断函数cutstr用法
2015/06/17 PHP
PHP中检查isset()和!empty()函数的必要性
2019/02/13 PHP
prototype 1.5相关知识及他人笔记
2006/12/16 Javascript
greybox——不开新窗口看新的网页
2007/02/20 Javascript
通用javascript脚本函数库 方便开发
2009/10/13 Javascript
javascript instanceof 与typeof使用说明
2010/01/11 Javascript
Jquery插件 easyUI属性汇总
2011/01/19 Javascript
JQuery操作三大控件(下拉,单选,复选)的方法
2013/08/06 Javascript
jquery设置元素的readonly和disabled的写法
2013/09/22 Javascript
使用jquery操作session方法分享
2015/01/22 Javascript
移动端js触摸事件详解
2016/09/18 Javascript
Dropzone.js实现文件拖拽上传功能(附源码下载)
2016/11/22 Javascript
Vue中添加过渡效果的方法
2017/03/16 Javascript
AngularJS下$http服务Post方法传递json参数的实例
2018/03/29 Javascript
vuex直接赋值的三种方法总结
2018/09/16 Javascript
JavaScript的级联函数用法简单示例【链式调用】
2019/03/26 Javascript
详解javascript中var与ES6规范中let、const区别与用法
2020/01/11 Javascript
JavaScript实现多个物体同时运动
2020/03/12 Javascript
vue实现登录功能
2020/12/31 Vue.js
Python实现的科学计算器功能示例
2017/08/04 Python
使用python采集脚本之家电子书资源并自动下载到本地的实例脚本
2018/10/23 Python
详解python读取和输出到txt
2019/03/29 Python
TensorFlow2.0:张量的合并与分割实例
2020/01/19 Python
python 串行执行和并行执行实例
2020/04/30 Python
Python操作word文档插入图片和表格的实例演示
2020/10/25 Python
Python 调用C++封装的进一步探索交流
2021/03/04 Python
简单整理HTML5的基本特性和语法
2016/02/18 HTML / CSS
小学教师办公室制度
2014/02/03 职场文书
求职教师自荐书
2014/06/19 职场文书
高中课前三分钟演讲稿
2014/08/18 职场文书
公务员考察材料范文
2014/12/23 职场文书
干部培训工作总结2015
2015/05/25 职场文书
python数字图像处理数据类型及颜色空间转换
2022/06/28 Python