Javascript基础知识(二)事件

Javascript基础知识(二)事件

一、事件的定义和使用

事件是指在操作网页时所产生的一系列动作,例如鼠标点击、键盘输入、窗口滚动等等。通过事件,我们可以给网页绑定相应的响应函数,实现网页的交互功能。

在Javascript中,事件通常被定义为对象的一种,可以使用addEventListener()方法来绑定事件函数。示例代码如下:

document.getElementById('btn').addEventListener('click', function() {
    alert('Hello, world!');
});

上述代码会给id为"btn"的按钮添加一个"click"事件,当用户点击该按钮时,会触发alert()函数,输出"Hello, world!"的弹窗。

除了click事件外,还有很多其他的事件可以使用,例如mouseover、mouseout、keydown等等。

二、事件冒泡和捕获

在网页上,事件通常会存在着层次结构,例如一个按钮可能被嵌套在一个div元素内。当一个事件被触发时,它会沿着这个层次结构向上或者向下传递,而这个传递过程被称为事件的冒泡(Bubbling)和捕获(Capturing)。

事件冒泡是指事件从最具体的元素开始触发,然后沿着层次结构逐步向上传播,直到传到document对象为止。示例代码如下:

<div id="container">
    <button id="btn">Click me!</button>
</div>
document.getElementById('container').addEventListener('click', function(){
    alert('container clicked!');
});
document.getElementById('btn').addEventListener('click', function(){
    alert('button clicked!');
});

当我们点击按钮时,会依次弹出"button clicked!"和"container clicked!"的弹窗提示。

事件捕获则是从document对象开始,沿着层次结构向下传递,最后传到最具体的元素为止。使用addEventListener()方法时,可以在第三个参数中设置true,将事件设置为捕获模式,例如:

document.getElementById('container').addEventListener('click', function(){
    alert('container clicked!');
}, true);

这样当我们点击按钮时,就会先弹出"container clicked!"的弹窗提示,再弹出"button clicked!"的弹窗提示。

三、阻止冒泡和默认行为

在某些特殊情况下,我们希望阻止事件的冒泡或者默认行为,可以使用event对象提供的方法来实现。

阻止冒泡可以使用event.stopPropagation()方法,示例代码如下:

document.getElementById('btn').addEventListener('click', function(event){
    alert('button clicked!');
    event.stopPropagation();
});

当我们点击按钮时,只会弹出"button clicked!"的弹窗提示,而不会再弹出"container clicked!"的弹窗提示。

阻止默认行为可以使用event.preventDefault()方法,例如在表单提交时阻止页面跳转:

<form>
    <input type="text" name="username">
    <button id="submit-btn" type="submit">Submit</button>
</form>
document.getElementById('submit-btn').addEventListener('click', function(event){
    event.preventDefault();
    // 执行表单提交逻辑
});

上述代码会阻止页面跳转,然后执行表单提交逻辑。

四、on事件属性

除了使用addEventListener()方法外,我们还可以使用on事件属性来给元素绑定事件,例如:

<button id="btn" onclick="alert('button clicked!')">Click me!</button>

这样当我们点击按钮时,就会弹出"button clicked!"的弹窗提示。

不过这种方式有一个缺陷,就是如果元素上已经有了该事件的绑定,再使用on事件属性会覆盖原有的绑定。因此,不推荐使用on事件属性来绑定事件。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Javascript基础知识(二)事件 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • js获得当前时区夏令时发生和终止的时间代码

    要获取当前时区夏令时发生和终止的时间,可以使用 JavaScript 的 Date 对象的方法。 获取夏令时开始和结束的时间 要获取夏令时的开始和结束时间,可以使用以下代码: // 获取当前时间的时区偏移量 var offset = new Date().getTimezoneOffset(); // 构建夏令时开始和结束的日期对象 var dstStart…

    JavaScript 2023年5月27日
    00
  • 2014值得推荐的10个移动 Web 应用程序开发框架

    2014值得推荐的10个移动 Web 应用程序开发框架 移动 Web 应用程序开发框架是一种用于开发移动应用程序,特别是移动 Web 应用程序的工具集。移动 Web 应用程序开发框架通常包括编程语言、工具和库等资源。在2014年,有很多值得推荐的移动 Web 应用程序开发框架。在这里,我们将介绍其中的10个框架和如何使用它们来开发移动 Web 应用程序。 1…

    JavaScript 2023年5月19日
    00
  • JavaScript实现表单元素的操作

    下面是详细的“JavaScript实现表单元素的操作”的攻略。 1. 基本概念 在JavaScript中,可以通过获取页面上的表单元素,实现对表单的操作,包括获取表单元素的值,设置表单元素的值,以及监听表单元素的事件等。 获取表单元素的值可以通过访问表单元素的value属性来实现,设置表单元素的值可以通过修改表单元素的value属性来实现。 表单元素的事件有…

    JavaScript 2023年6月10日
    00
  • js中this的指向问题归纳总结

    绝大部分的新手,在学习JavaScript时都会遇到一个非常常见的问题:无法理解 this 的指向问题。这也是Javascript的一个复杂和有争议性的部分,本攻略旨在帮助读者归纳总结“js中this的指向问题”。 什么是 this this 是 JavaScript 中的一个关键字,它是一个对象,并且它是由函数来调用的。this 的值在每个函数调用的时候都…

    JavaScript 2023年6月10日
    00
  • javascript格式化json显示实例分析

    接下来我将为你详细讲解“JavaScript格式化JSON显示实例分析”的完整攻略。 什么是JSON JSON是JavaScript Object Notation的缩写,是一种轻量级的数据交换格式。JSON使用文本来描述数据对象,与XML不同,JSON更容易阅读、编写、解析,因为它的语法格式比XML更简洁。 格式化JSON 在处理JSON格式的数据时,我们…

    JavaScript 2023年5月27日
    00
  • 24个解决实际问题的ES6代码片段(小结)

    可以了解一下“24个解决实际问题的ES6代码片段(小结)”的攻略。 介绍 这篇文章主要介绍了24个使用ES6语法的代码片段,这些代码片段都是用于解决实际问题的,并且代码风格简洁、易于理解。 内容 文章一共分成24个小节,每个小节都介绍了一个使用ES6语法的代码片段,涉及到如何使用ES6的arrow function、template literals、des…

    JavaScript 2023年6月10日
    00
  • JavaScript中的Location地址对象

    JavaScript中的Location对象表示当前窗口中文档的URL信息,即当前页面的网址。使用Location对象可以获取当前页面的相关信息,如跳转页面、获取URL参数,以及修改当前页面的URL等任务。 获取Location对象 JavaScript中可以通过window.location或者location来获取当前页面Url的Location对象。 …

    JavaScript 2023年6月10日
    00
  • Intellij IDEA常用快捷键介绍 Intellij IDEA快捷键大全汇总

    Intellij IDEA常用快捷键介绍 Intellij IDEA是一款非常得人心的开发工具,使用过程中,通过一些快捷键可以让我们更加高效地进行开发。本文将为大家介绍Intellij IDEA常用快捷键,并进行一些相应的示例说明。 常用快捷键汇总 下面介绍一些Intellij IDEA常用快捷键:- Ctrl + Shift + N:快速打开文件- Ctr…

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