event.target【转载】

[转载]

1.this和event.target的区别

 js中事件是会冒泡的,所以this是可以变化的,但event.target不会变化,它永远是直接接受事件的目标DOM元素;

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

比如:event.target和$(event.target)的使用:

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5     <title>event.target</title>
 6     <script type="text/javascript" src="js/jquery.js"></script>
 7     <script type="text/javascript">
 8     $(function(){
 9         $("li").live("click",function(event){
10         $("#temp").html("clicked: " + event.target.nodeName);
11         $(event.target).css("color","#FF3300");
12         })
13     });
14     </script>
15     </head>
16 
17     <body>
18         <div id="temp"></div>
19         <ul class="JQ-content-box" style="padding:20px; background:#FFFFFF">
20             <li>第一行
21                 <ul>
22                     <li>这是公告标题1</li>
23                     <li>这是公告标题2</li>
24                     <li>这是公告标题3</li>
25                     <li>这是公告标题4</li>
26                 </ul>
27             </li>
28         </ul>
29     </body>
30     </html>

上面的例子如果改成使用this:

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5     <title>event.target</title>
 6     <script type="text/javascript" src="js/jquery.js"></script>
 7     <script type="text/javascript">
 8     $(function(){
 9         $("li").live("click",function(event){
10         $("#temp").html("clicked: " + event.target.nodeName);
11         $(this).css("color","#FF3300");
12         event.stopPropagation();
13         })
14     });
15     </script>
16     </head>
17 
18     <body>
19         <div id="temp"></div>
20         <ul class="JQ-content-box" style="padding:20px; background:#FFFFFF">
21             <li>第一行
22                 <ul>
23                     <li>这是公告标题1</li>
24                     <li>这是公告标题2</li>
25                     <li>这是公告标题3</li>
26                     <li>这是公告标题4</li>
27                 </ul>
28             </li>
29         </ul>
30     </body>
31     </html>

注意这里的event.stopPropagation();这个是阻止事件冒泡的!

若不加event.stopPropagation 将会出现下列效果

 

ie下不兼容    event.target || event.srcElement

案例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<link href="css/admin.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/jquery.js"></script>
<style type="text/css">
body {background:#EBF4F9 url(images/sellcard1_03.jpg) repeat-x;
}
.now>a{ color:#000;}   //ie6不支持子选择符
</style>
</head>
<body>
<div class="sidesection"><h2 class="sideh2"><a href="#"><img src="images/sellcard1_06.jpg" alt="返回我的工作台" /></a></h2>
</div>
<div class="sidesection"><h2 class="sideh2"><img src="images/sellcard1_09.jpg" alt="功能权限" /></h2><ul class="sideul"><li class="titleli"><a target="main" href="订单服务.html">订单服务</a><ul><li class="titleli"><a target="main" href="处理中订单.html">处理中订单</a></li><li class="titleli"><a target="main" href="已完结订单.html">已完结订单</a></li></ul></li></ul>
</div>
<script type="text/javascript">
$(function(){$('.titleli').click(function(event){event.stopPropagation();$('.sideul').find('li.now').removeClass('now');$(this).addClass('now');})
})
</script>
</body>
</html>
View Code

//ie6不支持子选择符

冒泡:点击  “已完结订单”  上面的 “订单服务”  也会选中,并且变黑

$(this)在冒泡的情况下会发生变化,使用$(event.target)代替$(this)   此时单击已完结订单项的时候event.target指向的是a。而不是li

 

 

本文转自《jquery中使用event.target的几点》

转载于:https://www.cnblogs.com/positive/p/3445577.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/251551.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

node --- http数据上传

// 通过报头的Transfer-Encoding或Content-Length即可判断请求中是否带有内容 var hasBody function(req) {return transfer-encoding in req.headers || content-length in req.headers; };// 在HTTP_Parser解析报头结束后,报文内容部分会通过data事件触发 function (req, re…

MVC是架构模式,而不是设计模式

最早学编程的时候看过一些书&#xff0c;印象深刻的一本书《设计模式解析》&#xff0c;那本书给我后来的工作提供了很大的帮助。 他叫我站在问题模型的立场上指定解决方法&#xff0c;也教会了我软件设计中每个问题都可以细化到到不可再分割的原子性。 在那书以后看到过一些设…

msp430入门编程42

msp430中C语言的软件工程--事件触发程序结构 转载于:https://www.cnblogs.com/guochaoxxl/p/7812773.html

使用DataTable作为存储过程的参数

最近工作中写了几个存储过程&#xff0c;需要向存 储过程中传递字符串&#xff0c;因为SQL Server 2000中没有内置类似于 split 的函数&#xff0c;只好自己处理&#xff0c;将前台数据集中的一列用逗号拆分存到一个List中&#xff0c;再转化为字符串传给存储过程&#xff0c;很…

CodeForces - 976F Minimal k-covering

Description 给你一张左边 \(n_1\) 个点&#xff0c;右边 \(n_2\) 个点&#xff0c; \(m\) 条边的二分图。对于每一个 \(0\le k\le minDeg\) &#xff0c;求选取哪些边可以使每个点的度数都不小于 \(k\) 。 \(1\le n_1,n_2\le 2000\) &#xff0c; \(m\le 2000\) Solution 大力…

进制转换详细解说

进制的由来&#xff1a;任何数据在计算机中都是以二进制的形式存在的。二进制早起由电信号开关演变而来。 一个整数在内存中一样也是二进制的&#xff0c;但是使用一大串的1或者0组成的数值进行使用很麻烦 所以就想把一大串缩短点&#xff0c;讲二进制中的三位用一位表示。 这三…

删除Windows 7自动创建的隐藏分区

如果你安装了Windows 7测试版&#xff0c;在安装完成后发现Windows 7自动划出一个隐藏的分区&#xff0c;大小为200MB的。又不懂该怎样删除&#xff1f; 其实这个隐藏分区的删除比较麻烦的&#xff0c;如果贸然使用DM等分区工具来删除&#xff0c;会损坏硬盘的分区表。即使是使…

jQuery --- 简单操作合集

// 获取所有<p>元素 $("p");// 获取一个ID为myDiv的<div>元素 $("div#myDiv");// 获取所有type属性等于"text"的<input>元素 $("input[typetext]");// 获取所有p元素并隐藏它们 $("p").hide();// 获取ID为…

6.2 常见多媒体标准及压缩技术

MPEG-1是视频的压缩标准.这个标准是在1993年8月份发布的.标准就规定了视频文件以每秒钟1.5MB的速率来传输数字媒体它的运动图像以及伴音的编码.这个标准它包括了五个部分. MPEG-2它是1994年推出来的一个压缩标准&#xff0c;也是用于视频的。MPEG-2、MPEG-4、MPEG-7、MPEG-21它…

Single Number II

2018-06-17 14:04:27 问题描述&#xff1a; 问题求解&#xff1a; 方法一、如果对空间复杂度没有要求&#xff0c;那么直接使用HashMap对每个数字出现次数进行计数&#xff0c;最后对HashMap遍历一遍即可&#xff0c;总的时间复杂度为O(n)&#xff0c;空间开销较大。 方法二、对…

JavaScript --- 自定义优先级队列

根据HTTP1.1的规范,一个客户端在同一时刻与同一域名不能有两个以上的连接。为了完全符合HTTP1.1,一个典型的解决方案就是使用优先级队列.下面是自定义的优先级队列 /** * 用原型模式定义PriorityQueue的方法, * 如果没有定义_compare()方法,那么第一个方法就是默认的_compare(…

可添加至收藏夹并在浏览器地址栏运行的JS代码

编辑当前网页 代码如下&#xff1a; javascript:document.body.contentEditabletrue; document.designModeon; void 0 无敌图片风火轮 在地址栏运行下面的代码可提取所有图片元素在页面上滚动显示&#xff0c;属于网页显示特效。 代码如下&#xff1a; javascript:R0; x1.1; y1…

SOA相关资料

http://www.cnblogs.com/mushroom/p/4369032.html转载于:https://www.cnblogs.com/tianciliangen/p/7825959.html

打造自己Django博客日记

本教程使用的开发环境 本教程写作时开发环境的系统平台为 Windows 10 &#xff08;64 位&#xff09;&#xff0c;Python 版本为 3.5.2 &#xff08;64 位&#xff09;&#xff0c;Django 版本为 1.10.6。 建议尽可能地与教程的开发环境保持一致&#xff08;尤其是 Python 与 D…

vue --- 使用字符串'api'跨域请求资源

vue环境下,修改config/index.js文件 module.exports {data: {proxyTable: {/api: {target: http://siwei.me, // 将api转发到siwei.me上changeOrigin: true,pathRewrite: {^/api: // 去掉url中的api}}}, }原请求: http://localhost:8080/api/interface/blogs/all 新请…

重庆两江新区将建国内最大“云计算”数据基地

全市经济工作会指出&#xff0c;要尽快启动、全力争取打造国内最大的数据处理基地&#xff0c;最终要做成上百万台服务器、上千亿美元规模的“云计算”基地&#xff0c;成为全球数据开发和处理中心。昨日&#xff0c;市经信委主任沐华平接受本报专访时表示&#xff0c;重庆正在…

如何在前端生成二维码

第一步&#xff1a; 引入&#xff1a;<script src"qrcode.js"></script> 第二步&#xff1a; <div id"qrcode"></div> 第三步&#xff1a; // 1.简单使用方式 &#xff1a;new QRCode(document.getElementById(qrcode), http://ww…

vue --- Vue中的路由跳转问题

import Vue from vue import Router from vue-router // 前2个导入时vue框架自带的 import SayHi from /components/SayHi // 这个导入是自己写的位于components下的sayHiVue.use(Router) // 用到了vue的Router模块 export default new Router({routes: [{path: /say_hi,…

水瓶与天蝎的八年爱恋(图

新浪网友&#xff1a;kinkihi 水瓶与天蝎的八年爱恋我水瓶&#xff0c;他蝎子。我们相恋8年&#xff0c;确切的说中间有5年在一起的时间不超过6个月&#xff0c;两人一直处于异地状态&#xff0c;说出来可能没几个人能信&#xff0c;我们是这样走过来的。我一直是严格要求自己&…

Controller上使用@CrossOrigin注解

本文首次发布于My Blog,作者Ian,转载请保留原文链接。 就是一个跨域的注解 Spring MVC 从4.2版本开始增加了对CORS的支持 CORS介绍请看这里&#xff1a;https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS 参考isea533&#xff1a;https://blog.csdn.net/…