zoukankan      html  css  js  c++  java
  • jquery 事件对象的作用

    一、事件对象

    事件对象是用来记录一些事件发生时的相关信息的对象。
    事件对象只有事件发生时才会产生,并且只能是事件处理函数内部访问,在所有事件处理函数运行结束后,事件对象就被销毁

    event.target代表当前触发事件的元素,可以通过当前元素对象的一系列属性来判断是不是我们想要的元素
     <div class="aaron">
          <ul>
              <li>点击:触发一</li>
              <li>点击:触发二</li>
              <li>点击:触发三</li>
              <li>点击:触发四</li>
          </ul>
     </div>
    
    //多事件绑定一
            $("ul").on('click',function(e){              //给ul加点击事件, 通过事件冒泡 来执行
               alert('触发的元素是内容是: ' + e.target.textContent); //点击不同的li ,显示不同的文字
            })
    
    
    

    二、事件对象的属性和方法

    event.type:获取事件的类型

    $("a").click(function(event) {
      alert(event.type); // "click"事件
    });
    1. event.pageX 和 event.pageY:获取鼠标当前相对于页面的坐标

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

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

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

    3. 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)的使用;

  • 相关阅读:
    [js]vue-router的使用
    [js]递归实现 数组转树形
    [js]vue组件核心
    [js]了解chart绘图
    [js]vue权限控制
    [js]vue显示一个外部链接的组件
    [js]axios使用
    [js]vue中 给router-view 组件的 绑定 key 的原因
    [java]BeanPostProcessor使用及源码
    [java]权限管理
  • 原文地址:https://www.cnblogs.com/luhailin/p/6846757.html
Copyright © 2011-2022 走看看