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实现图片平滑滚动详解
Mar 22 jQuery
基于jQuery实现文字打印动态效果
Apr 21 jQuery
用户管理的设计_jquery的ajax实现二级联动效果
Jul 13 jQuery
jQuery动态添加.active 实现导航效果代码思路详解
Aug 29 jQuery
将jquery.qqFace.js表情转换成微信的字符码
Dec 01 jQuery
jQuery实现页码跳转式动态数据分页
Dec 31 jQuery
jQuery中each遍历的三种方法实例分析
Sep 07 jQuery
jQuery zTree插件快速实现目录树
Aug 16 jQuery
jQuery操作元素追加内容示例
Jan 10 jQuery
jquery制作的移动端购物车效果完整示例
Feb 24 jQuery
JQuery+drag.js上传图片并且实现图片拖曳
Nov 18 jQuery
jQuery使用hide()、toggle()函数实现相机品牌展示隐藏功能
Jan 29 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
phpMyadmin 用户权限中英对照
2010/04/02 PHP
php编程每天必学之验证码
2016/03/03 PHP
Smarty变量用法详解
2016/05/11 PHP
php实现统计二进制中1的个数算法示例
2018/01/23 PHP
Laravel 登录后清空COOKIE的操作方法
2019/10/14 PHP
服务器端的JavaScript脚本 Node.js 使用入门
2012/03/07 Javascript
js 自制滚动条的小例子
2013/03/16 Javascript
Node.js中AES加密和其它语言不一致问题解决办法
2014/03/10 Javascript
js中 计算两个日期间的工作日的简单实例
2016/08/08 Javascript
Vue.js如何实现路由懒加载浅析
2017/08/14 Javascript
jQuery选择器中的特殊符号处理方法
2017/09/08 jQuery
jQuery中 DOM节点操作方法大全
2017/10/12 jQuery
JavaScript实现随机数生成器(去重)
2017/10/13 Javascript
vue 自定义组件 v-model双向绑定、 父子组件同步通信的多种写法
2017/11/27 Javascript
Vue.js项目中管理每个页面的头部标签的两种方法
2018/06/25 Javascript
Vue-router 切换组件页面时进入进出动画方法
2018/09/01 Javascript
Vue项目自动转换 px 为 rem的实现方法
2018/10/29 Javascript
jQuery选择器之基本选择器用法实例分析
2019/02/19 jQuery
Vue中实现回车键切换焦点的方法
2020/02/19 Javascript
Vue 封装防刷新考试倒计时组件的实现
2020/06/05 Javascript
在vue项目中利用popstate处理页面返回的操作介绍
2020/08/06 Javascript
[01:35]辉夜杯战队访谈宣传片—iG.V
2015/12/25 DOTA
[45:18]2018DOTA2亚洲邀请赛 4.3 突围赛 Optic vs iG 第一场
2018/04/04 DOTA
深入解析python中的实例方法、类方法和静态方法
2019/03/11 Python
40行Python代码实现天气预报和每日鸡汤推送功能
2020/02/27 Python
使用python创建Excel工作簿及工作表过程图解
2020/05/27 Python
如何用python免费看美剧
2020/08/11 Python
python3实现语音转文字(语音识别)和文字转语音(语音合成)
2020/10/14 Python
英国婴儿产品专家:Samuel Johnston
2020/04/20 全球购物
J2ee常用的设计模式?说明工厂模式
2015/05/21 面试题
大学生军训广播稿
2014/01/24 职场文书
公司年会主持词
2014/03/22 职场文书
2014领导班子四风剖析对照检查材料思想汇报
2014/09/20 职场文书
对照检查剖析材料
2014/09/30 职场文书
离婚起诉状范本
2015/05/19 职场文书
Win10防火墙白名单怎么设置?Win10添加防火墙白名单方法
2022/04/06 数码科技