JavaScript学习笔记之JS事件对象

JavaScript学习笔记之JS事件对象

什么是JS事件对象

JavaScript事件对象(Event Object)是在事件被触发时由浏览器自动创建的对象,它包含了与事件相关的所有信息,我们可以通过JS事件对象来获取一些有用的信息,如事件类型、触发事件的元素、鼠标的位置等。

JS事件对象的属性

以下是JS事件对象常用的属性:

  • type:事件类型,如"click"、"mouseover"等;
  • target:触发事件的元素;
  • currentTarget:事件绑定的元素;
  • pageX:鼠标指针的水平位置,相对于文档的左侧边缘;
  • pageY:鼠标指针的垂直位置,相对于文档的顶部边缘;
  • keyCode:触发事件的按键的键码值;
  • shiftKeyctrlKeyaltKey:是否按下了Shift、Ctrl、Alt键。

JS事件对象的方法

以下是JS事件对象常用的方法:

  • preventDefault():取消事件的默认行为;
  • stopPropagation():停止事件的传播;
  • stopImmediatePropagation():立即停止事件的传播。

JS事件对象的使用

以下是一个JS事件对象的使用示例:

<!DOCTYPE html>
<html>
<head>
    <title>JS事件对象使用示例</title>
    <script type="text/javascript">
        var btn = document.getElementById("btn");
        btn.onclick = function(event) {
            alert("触发事件的元素:" + event.target.tagName);
            alert("事件类型:" + event.type);
            alert("键码值:" + event.keyCode);
            alert("鼠标位置:" + event.pageX + "," + event.pageY);
            event.preventDefault(); //取消事件的默认行为
        }
    </script>
</head>
<body>
    <button id="btn">点击我</button>
</body>
</html>

以上代码中,我们给button元素绑定了一个click事件,当点击该元素时,事件会触发。在事件的处理函数中,我们用JS事件对象来获取一些有用的信息,如事件类型、触发事件的元素、键码值等,并使用event.preventDefault()方法来取消事件的默认行为。

另外一个JS事件对象的使用示例,如下:

<!DOCTYPE html>
<html>
<head>
    <title>JS事件对象使用示例</title>
    <script type="text/javascript">
        var box = document.getElementById("box");
        box.addEventListener("mouseover", function(event) {
            event.target.style.backgroundColor = "red";
            event.stopPropagation(); //停止事件的传播
        }, false);

        document.addEventListener("mouseover", function(event) {
            event.target.style.backgroundColor = "green";
        }, false);
    </script>
</head>
<body>
    <div id="box"></div>
</body>
</html>

以上代码中,我们给一个div元素绑定了一个mouseover事件,并使用event.target.style.backgroundColor来修改该元素的背景色为红色。同时,在鼠标移入该元素时,还会触发document元素上的mouseover事件,我们在该事件的处理函数中使用event.target.style.backgroundColor来修改背景色为绿色。为了避免事件在document上的传播,我们使用了event.stopPropagation()方法来停止事件的传播。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript学习笔记之JS事件对象 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • JavaScript 面向对象之命名空间

    JavaScript 面向对象之命名空间 JavaScript 是一门支持面向对象编程的语言,但在实践中,我们发现 JavaScript 的命名空间机制并不完整或者说不够严谨。因此,我们可以借助 Object 对象和函数声明的方式来实现 JavaScript 的命名空间。 命名空间的概念 命名空间是一个用于“组织代码”的容器,它类似于文件系统中文件夹的概念,…

    JavaScript 2023年5月27日
    00
  • 前端设计模式——享元模式

    享元模式(Flyweight Pattern):是一种用于优化对象创建和管理的设计模式。它旨在减少内存消耗和提高性能,通过共享具有相同状态的对象来实现这一目标。 具体来说,享元模式涉及两个主要的对象:享元工厂和具有共享状态的享元对象。享元工厂负责创建和管理共享对象,以确保每个对象只被创建一次。享元对象则包含需要共享的状态信息,并提供接口以访问该状态。 通过使…

    JavaScript 2023年4月18日
    00
  • javascript中几个容易混淆的概念总结

    下面我将为你详细讲解 “JavaScript 中几个容易混淆的概念总结”。 1. JavaScript 中的对象和原始类型 JavaScript 中的类型可分为两种,即原始类型和对象类型。原始类型包括字符串、数字、布尔值、undefined 和 null 等。而对象类型则包括对象、数组、函数和正则表达式等。 let str = "hello&quo…

    JavaScript 2023年6月10日
    00
  • JS使用Date对象实时显示当前系统时间简单示例

    下面我会详细讲解如何使用 JavaScript 的 Date 对象实现实时显示当前系统时间的简单示例。 准备工作 在开始之前,我们需要了解 JavaScript 的 Date 对象,该对象用于处理日期和时间,它提供了获取当前时间、设置时间、获取时间戳等方法。 为了演示该功能,我们需要在页面中添加一个用于显示时间的元素,例如: <div id=&quot…

    JavaScript 2023年5月27日
    00
  • Bootstrap每天必学之模态框(Modal)插件

    Bootstrap每天必学之模态框(Modal)插件 什么是模态框 模态框(Modal)是一种弹出窗口,用于在Web页面上显示信息。模态框会在加载时居中显示,并且在关闭前将防止用户与原始页面进行任何交互。Bootstrap框架提供了内置的模态框插件,使这一过程变得非常方便。 如何创建模态框 要创建一个模态框,您需要执行以下步骤: 在HTML中创建一个触发器(…

    JavaScript 2023年6月11日
    00
  • Javascript中的方法和匿名方法实例详解

    Javascript中的方法和匿名方法实例详解 在Javascript中,方法和匿名方法是非常常用的函数形式。本文将详细讲解这两种函数的概念,区别,用法和实例。 方法 概念 方法就是被绑定到某个对象上的函数,在一个对象上定义一个方法,就是在对象上添加一个函数属性。 语法 对象名.方法名 = function(参数) { // 函数体 } 其中,对象名就是方法…

    JavaScript 2023年6月10日
    00
  • JavaScript数据分析之交集,并集,对称差集

    JavaScript数据分析之交集、并集、对称差集 什么是交集、并集、对称差集 在数学中,交集、并集、对称差集都是一些集合运算,这些概念同样适用于JavaScript中的数组。 交集(Intersection):找出两个数组中共同的元素,返回这些共同元素的新数组。 并集(Union):找出两个数组中所有的元素并集,返回这些元素的新数组。 对称差集(Symme…

    JavaScript 2023年5月28日
    00
  • JavaScript中操作字符串之localeCompare()方法的使用

    接下来我将详细讲解“JavaScript中操作字符串之localeCompare()方法的使用”的完整攻略。 localeCompare()方法概述 localeCompare()方法是JavaScript中用于比较两个字符串的方法。它会返回一个数字,这个数字表示字符串的顺序。通过比较两个字符串的顺序,我们可以判断这两个字符串的大小。localeCompar…

    JavaScript 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部