jQuery事件对象的属性和方法详解


Posted in jQuery onSeptember 09, 2017

jQuery事件对象的属性和方法,供大家参考,具体内容如下

事件对象的属于与方法有很多,但是我们经常用的只有那么几个,这里我主要说下作用与区别

event.type:获取事件的类型

触发元素的事件类型

$("a").click(function(event) {
 alert(event.type); // "click"事件
});

event.pageX 和 event.pageY:获取鼠标当前相对于页面的坐标

通过这2个属性,可以确定元素在当前页面的坐标值,鼠标相对于文档的左边缘的位置(左边)与 (顶边)的距离,简单来说是从页面左上角开始,即是以页面为参考点,不随滑动条移动而变化

event.preventDefault() 方法:阻止默认行为

这个用的特别多,在执行这个方法后,如果点击一个链接(a标签),浏览器不会跳转到新的 URL 去了。我们可以用 event.isDefaultPrevented() 来确定这个方法是否(在那个事件对象上)被调用过了

event.stopPropagation() 方法:阻止事件冒泡

事件是可以冒泡的,为防止事件冒泡到DOM树上,也就是不触发的任何前辈元素上的事件处理函数

event.which:获取在鼠标单击时,单击的是鼠标的哪个键

event.which 将 event.keyCode 和 event.charCode 标准化了。event.which也将正常化的按钮按下(mousedown 和 mouseupevents),左键报告1,中间键报告2,右键报告3

event.currentTarget : 在事件冒泡过程中的当前DOM元素

冒泡前的当前触发事件的DOM对象, 等同于this.

this和event.target的区别:

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

.this和event.target都是dom对象

如果要使用jquey中的方法可以将他们转换为jquery对象。比如this和$(this)的使用、event.target和$(event.target)的使用;

参考代码:

<!DOCTYPE html>
<html>

<head>
  <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
  <title></title>
  <style>
  .left div,
  .right div {
    width: 500px;
    height: 100px;
    padding: 5px;
    margin: 5px;
    float: left;
    border: 1px solid #ccc;
  }
  
  .left div {
    background: #bbffaa;
  }
  
  .right div {
    background: yellow;
  }
  </style>
  <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
</head>

<body>
  <h3>事件对象的属性与方法</h3>
  <div class="left">
    <div id="content">
      外层div元素
      <br />
      <span style="background: silver;">内层span元素</span>
      <br /> 外层div元素
    </div>
    <br />
    <div id="msg"></div>
  </div>
  <script type="text/javascript">
  //为 <span> 元素绑定 click 事件 
  $("span").click(function() {
    $("#msg").html($("#msg").html() + "<p>内层span元素被单击</p>");
  });
  //为 Id 为 content 的 <div> 元素绑定 click 事件 
  $("#content").click(function(event) {
    $("#msg").html($("#msg").html() + "<p>外层div元素被单击</p>");
    event.stopPropagation(); //阻止事件冒泡 
  });
  //为 <body> 元素绑定 click 事件 
  $("body").click(function() {
    $("#msg").html($("#msg").html() + "<p>body元素被单击</p>");
  });
  </script>
</body>

</html>

jQuery事件对象的属性和方法详解

点击span冒泡到content的点击事件,然后进入到content的click function里面执行阻止冒泡语句,也就不会冒泡到body,所以点击span不会出现body元素被点击。

$('#msg').html($('#msg').html()+ "<p>内层span元素被单击</p>"); //在msg原有内容上追加
$('#msg').html("<p>内层span元素被单击</p>"); //替换原来的内容

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
jQuery用noConflict代替$的实现方法
Apr 12 jQuery
jQuery zTree树插件动态加载实例代码
May 11 jQuery
jquery对table做排序操作的实例演示
Aug 10 jQuery
jQuery动态添加.active 实现导航效果代码思路详解
Aug 29 jQuery
关于jquery layui弹出层的使用方法
Apr 21 jQuery
jQuery无冲突模式详解
Jan 17 jQuery
如何使用CSS3+JQuery实现悬浮墙式菜单
Jun 18 jQuery
jQuery设置下拉框显示与隐藏效果的方法分析
Sep 15 jQuery
基于JavaScript或jQuery实现网站夜间/高亮模式
May 30 jQuery
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
Oct 09 jQuery
JS+JQuery实现无缝连接轮播图
Dec 30 jQuery
jQuery实现鼠标拖动图片功能
Mar 04 jQuery
详解jquery插件jquery.viewport.js学习使用方法
Sep 08 #jQuery
jQuery选择器中的特殊符号处理方法
Sep 08 #jQuery
JQuery 获取多个select标签option的text内容(实例)
Sep 07 #jQuery
jQuery UI Draggable + Sortable 结合使用(实例讲解)
Sep 07 #jQuery
jQueryUI Sortable 应用Demo(分享)
Sep 07 #jQuery
jQuery实现的弹幕效果完整实例
Sep 06 #jQuery
jQuery实现的文字逐行向上间歇滚动效果示例
Sep 06 #jQuery
You might like
PHP连接SQLServer2005方法及代码
2013/12/26 PHP
浅析PHP echo 和 print 语句
2020/06/30 PHP
PHP中isset、empty的用法与区别示例详解
2020/11/05 PHP
用JavaScript显示随机图像或引用
2009/04/21 Javascript
判断某个字符在一个字符串中是否存在的js代码
2014/02/28 Javascript
javascript比较两个日期的先后示例代码
2014/12/31 Javascript
jQuery实现简单二级下拉菜单
2015/04/12 Javascript
JS实现回到页面顶部动画效果的简单实例
2016/05/24 Javascript
jQuery中select与datalist制作下拉菜单时的区别浅析
2016/12/30 Javascript
Bootstrap一款超好用的前端框架
2017/09/25 Javascript
微信小程序实现图片上传功能实例(前端+PHP后端)
2018/01/10 Javascript
create-react-app修改为多页面支持的方法
2018/05/17 Javascript
解决vue项目打包后提示图片文件路径错误的问题
2018/07/04 Javascript
vue.js 双层嵌套for遍历的方法详解, 类似php foreach()
2018/09/07 Javascript
基于nodejs的雪碧图制作工具的示例代码
2018/11/05 NodeJs
JS高阶函数原理与用法实例分析
2019/01/15 Javascript
node.js微信小程序配置消息推送的实现
2019/02/13 Javascript
vue接通后端api以及部署到服务器操作
2020/08/13 Javascript
vue实现日历表格(element-ui)
2020/09/24 Javascript
[05:11]TI9战队采访——VIRTUSPRO
2019/08/22 DOTA
python 控制语句
2011/11/03 Python
python实现爬虫统计学校BBS男女比例之多线程爬虫(二)
2015/12/31 Python
python WindowsError的错误代码详解
2017/07/23 Python
基于使用paramiko执行远程linux主机命令(详解)
2017/10/16 Python
python实现定时发送qq消息
2019/01/18 Python
Python递归实现打印多重列表代码
2020/02/27 Python
python能自学吗
2020/06/18 Python
详解Html5微信支付爬坑之路
2018/07/24 HTML / CSS
品质主管的岗位职责
2013/12/04 职场文书
物流专业大学的自我评价
2014/01/11 职场文书
抵押贷款承诺书
2014/05/30 职场文书
处级干部考察材料
2014/12/24 职场文书
2015年科室工作总结
2015/04/10 职场文书
2015年司法所工作总结
2015/04/27 职场文书
2015小学毕业班工作总结
2015/07/21 职场文书
《仙剑客栈2》第一弹正式宣传片公开 年内发售
2022/04/07 其他游戏