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,一经查实,立即删除!

相关文章

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

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

进制转换详细解说

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

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;空间开销较大。 方法二、对…

打造自己Django博客日记

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

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/…

vue --- 基本的表单元素

<template> <div>input: <input typetext v-modelinput_value />,输入的值: {{input_value}}<hr />text area: <textarea v-model"textarea_value"></textarea>,输入的值: {{textarea_value}}<hr/>radio:<input typera…

vue --- 提交表单到服务器

<template> <div><textarea v-modelcontent></textarea><br/><input typebutton clicksubmit value留言 /> </div> </template><script> export default {data () {return {content: }},methods: {submit: function () …

节约内存:Instagram的Redis实践(转)

一、问题&#xff1a; 数据库表数据量极大&#xff08;千万条&#xff09;&#xff0c;要求让服务器更加快速地响应用户的需求。二、解决方案&#xff1a;1.通过高速服务器Cache缓存数据库数据2.内存数据库三、主流解Cache和数据库对比&#xff1a;从以上各数据可知&#xff0c…

多数公司容易犯的5个大数据错误

多数公司容易犯的5个大数据错误 如今&#xff0c;大数据革命驱动了现代工业发展&#xff0c;每天都有越来越多的企业采用大数据技术。然而&#xff0c;尽管大量数据已经存在和应用了很长时间&#xff0c;但如何使用它&#xff0c;仍然存在许多严重的错误。 以下是企业容易犯的5…

(2.15)备份与还原--使用作业备份、清理过期备份、清理历史记录、事务日志是否备份过...

一、建立作业备份数据库 打开SQL SERVER MANAGEMENT STUDIO&#xff0c;启动SQL SERVER代理服务&#xff08;注意在“控制面板-管理工具-服务”中设置SQL SERVER AGENT的启动类型为自动&#xff09;。启动后点击“作业-新建作业”&#xff0c;弹出一个作业属性的窗口&#xff0…

javascript+HTML+CSS面试题

今天参加面试&#xff0c;考了我三个小时&#xff0c;考晕了&#xff0c;赶紧补习补习javascript的知识&#xff01;&#xff08;另&#xff1a;人事部明明说招HTML5CSS3jQuery&#xff0c;考1个半小时左右&#xff0c;怎么变成了考传统DIVCSSjavascript啦&#xff0c;呜呜呜~~…

android 对话框

android 8种对话框&#xff08;Dialog&#xff09;使用方法汇总 作者&#xff1a;gzdaijie本文为作者原创&#xff0c;转载请注明出处&#xff1a;https://www.cnblogs.com/gzdaijie/p/5222191.html 目录 1.写在前面2.代码示例2.1 普通Dialog&#xff08;图1与图2&#xff09;2…

算法 --- 插入排序的JS实现

let A [5, 2, 4, 6, 1 ,3];// 插入排序 insertionSort (A) > {console.log("原数组>>>", A);for (let j1; j<A.length; j) {let key A[j];i j -1;while ( i > -1 && A[i] > key) {A[i1] A[i];i i-1;}A[i 1] key;}console.log(&q…

算法 --- 归并排序的js实现

let mergeSort (A, p, q, r) > {console.log("原数组>>>", A);let n1 q - p 1;let n2 r - q;let L new Array();let R new Array();for (let i 1; i < n1 1; i) {L[i -1] A[p i - 1];}for (let j 1; j < n2 1; j) {R[j-1] A[q j];}L[…

个人技术博客

一. Volley框架 在进行和服务器交互的时候需要发送请求&#xff0c;发现了volley这个好用易上手的框架。volley是一个异步网络通信框架&#xff0c;它的优点在于轻量级、适用于量小但传送频繁的请求操作 搭建请求的第一步就是新建一个请求队列RequestQueue queue Volley.newRe…

软件构造 第一章第二节 软件开发的质量属性

​软件构造 第一章第二节 软件开发的质量属性 1.软件系统质量指标 External quality factors affect users 外部质量因素影响用户 Internal quality factors affect the software itself and its developers 内部质量因素影响软件本身和它的开发者 External quality results fr…

css自媒体查询

准备工作1&#xff1a;设置Meta标签 首先我们在使用Media的时候需要先设置下面这段代码&#xff0c;来兼容移动设备的展示效果&#xff1a; <meta name"viewport" content"widthdevice-width, initial-scale1.0, maximum-scale1.0, user-scalableno">…

css --- 应用媒介查询制作响应式导航栏

以上导航会自动适应各个尺寸的屏幕 代码如下: <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <meta name"apple-mobile-w…

Drools 7.4.1.Final参考手册(六) 用户手册

用户手册 基础 无状态的知识Session Drools规则引擎拥有大量的用例和功能&#xff0c;我们要如何开始&#xff1f;你无须担心&#xff0c;这些复杂性是分层的&#xff0c;你可以用简单的用例来逐步入门。 无状态Session&#xff0c;无须使用推理&#xff0c;就形成了最简单的用…