前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >第9章 JavaScript事件处理

第9章 JavaScript事件处理

作者头像
用户8928967
发布于 2021-09-22 02:24:59
发布于 2021-09-22 02:24:59
1.1K00
代码可运行
举报
运行总次数:0
代码可运行

带着问题去看书学习啦~

HTML5+CSS3+JavaScript Web 前端开发案例教程(慕课版)【不推荐】,微信读书中找到的学习Web前端书籍,第9章开始啦,耶(^-^)V

习题

9-1 调用事件的方法有几种?

    1. 事件处理程序在JavaScript中的调用
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<input id="save" name="bt_save" type="button" value="保存">
<script language="javascript">
var b_save=document.getElementById("save");
b_save.onclick=function(){
  alert("单击了保存按钮");
}
</script>

由于html代码是按照顺序执行的,所以像input表单定义这里,一定要放在js代码前面,这样才能操作到对象,否则会报空。当然也是有方式让js代码在最后执行的,先把页面渲染出来再执行js代码,这点后续再说。

注意:在JavaScript中指定事件处理程序时,事件名称必须小写,才能正确响应事件。

  • 2.事件处理程序在HTML中的调用

在HTML中调用事件处理程序,只需要在HTML标签中添加相应的事件,并在其中指定要执行的代码或是函数名即可。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<input name="bt_save" type="button" value="保存" onclick="alert(’单击了保存按钮’);">

or

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<input name="bt_save" type="button" value="保存"onclick="clickFunction();"><script>
  function clickFunction(){
    alert("单击了保存按钮");
  }
</script>

9-2 JavaScript中常见的事件有哪几类?

click、submit、mouseover 等

9-3 主流浏览器支持DOM标准的事件处理模型有哪几种?

    1. 冒泡型事件(Bubbling):从DOM树型结构上理解,就是事件由子节点沿父节点一直向上传递直到根节点;从浏览器界面视图HTML 元素排列层次上理解就是,事件由具有从属关系的最确定的目标元素一直传递到最不确定的目标元素。
    1. 捕获型事件(Capturing):与冒泡型事件刚好相反,是由DOM树最顶层元素一直传递到最精确的元素。

注意:目前除IE外,其他主流浏览器如Firefox、Opera、Safari都支持标准的DOM事件处理模型。IE仍然使用自己的模型,即冒泡型。

9-4 常用的鼠标事件有哪些?

    1. onclick事件:鼠标单击时被触发的事件。
    1. onmousedown事件:鼠标的按下事件。
    1. onmouseup事件:鼠标松开事件。
    1. onmouseover事件:鼠标移入事件。
    1. onmouseout事件:鼠标移出事件。
    1. onmousemove事件:鼠标移动事件。

9-5 如何移除事件监听器

  • IE:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
element.attachEvent ('onclick', observer); // 注册事件监听器

element.detachEvent('onclick', observer); // 移除事件监听器
  • DOM标准:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 第一个参数是事件名称,第二个参数 observer 是回调处理函数,第三个参数注明该回调处理函数是在事件传递过程中的捕获阶段被调用还是冒泡阶段被调用,默认true为捕获阶段
element.addEventListener('click', observer, useCapture); // 注册事件监听器(既支持注册冒泡型事件,又支持捕获型事件。)

element.removeEventListener('click', observer, useCapture); // 移除事件监听器

直接在DOM节点上加事件

  • IE:通过设置event对象的returnValue为false即可
  • 取消浏览器的事件传递 取消事件传递是指,停止捕获型事件或冒泡型事件的进一步传递。例如在冒泡型事件传递中,body 停止事件传递后,位于上层的document的事件监听器就不再收到通知,不再被处理。 **IE:**通过设置event对象的cancelBubble为true即可 function someHandle() { window.event.cancelBubble = true; } **DOM标准的浏览器:**通过调用event对象的stopPropagation()即可 function someHandle(event) { event.stopPropagation(); } 因此,跨浏览器的停止事件传递的方法是: function someHandle(event) { event = event || window.event; if(event.stopPropagation) event.stopPropagation(); else event.cancelBubble = true; }

其他

真的是不推荐此书噢,越看下去,越觉得...一言难尽。

此篇正篇中,鼠标的移出事件这里就写错了单词,有点误人子弟的意味。至于示例,可以参考一下,自己练习练习,当然也是有好处的。起码敲代码会逐步熟练。敲代码速度也会逐步加快,加上大概会走了不少坑,虽说有点费时间,可是从坑里爬出来后,一切都会豁然开朗。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 妮K妮K妮 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Vue 3 事件处理
页面上会有很多的页面交互,例如用户点击按钮,会触发什么样的事件,这个事件要做什么事情,就会涉及到事件处理。
公众号---人生代码
2020/11/03
2.1K0
Vue 3 事件处理
JavaScript 事件机制
通俗地来说, JavaScript 事件机制描述的是事件在 DOM 里面的传递顺序,以及我们可以对这些事件做出如何的响应。
用户1065635
2019/03/21
8820
13事件
IE8中提供的事件监听器为:element.attachEvent(eventName,functionName)
Dreamy.TZK
2020/04/24
8100
JavaScript事件详解
想必大家对JavaScript的事件都不陌生吧,大多数在网站开发的时候都会用到,这也是JavaScript的基本功之一,本文就为各位梳理一下相关知识。
用户8983410
2021/09/19
7460
JavaScript基础-事件监听与处理
在Web开发中,事件驱动编程是核心机制之一,它使得页面能够响应用户的操作,如点击、滚动、键盘输入等。JavaScript提供了强大的事件监听与处理机制,让开发者能够轻松地为DOM元素绑定事件处理程序。本文将深入浅出地介绍JavaScript事件模型、绑定与解除事件监听器的方法,以及在实际应用中常见的问题与易错点,并通过代码示例给出避免策略。
Jimaks
2024/06/12
3420
Javascript - 事件顺序
原文标题:Javascript - Event order 原文链接:https://www.quirksmode.org/js/events_order.html Netscape 4 只支持事件捕获,Explorer只支持事件冒泡。Netscape 6和 Konqueror冒泡和捕获均支持,但Opera 和iCab冒泡和捕获均不支持。 在介绍事件的那篇文章(文章链接:https://www.quirksmode.org/js/introevents.html)中,我提了个看起来比较难以理解的问题:“
崔庆才
2018/06/25
1.1K0
面试官:考你几个简单的事件问题吧
事件处理是JavaScript中非常重要的概念,我们使用的客户端软件往往都是事件驱动的,所以面试官特别喜欢问一些事件相关的知识,这里记录几个常见的问题,供大家学习。
kai666666
2020/10/19
1.2K0
JavaScript捕获和冒泡探讨
上个星期在微博中一个关于javascript捕获和冒泡代码的讨论,可能没有动手实现一篇的人无法给出确定的答案。
前端开发博客
2020/11/04
5340
JavaScript捕获和冒泡探讨
再谈BOM和DOM(4):DOM0/DOM2事件处理分析
JavaScript能够让网站对用户的各种操作及时做出“反馈”,响应用户交互行为,而这些就是:DOM,事件以及事件处理
周陆军
2021/07/13
9020
javascript事件详解
事件流 事件流两种顺序:冒泡与捕获。 简单的添加与删除事件 obj.onclick=function(){} obj.onclick=null; 通用事件添加的删除 obj.addEventListener(),obj.attachEvent() obj.removeEventListener(),obj.attachEvent() 三个参数分别表示,(事件,绑定函数,事件流), 注意: 1.如果必须得删除事件,这种写法,不能用匿名函数,否则删除函数的时候,不方便。 2.attachEvent的事件名称是o
前朝楚水
2018/04/02
1.4K0
事件
事件 JavaScript和HTML的交互是通过事件实现的。JavaScript采用异步事件驱动编程模型,当文档、浏览器、元素或与之相关对象发生特定事情时,浏览器会产生事件。如果JavaScript关注特定类型事件,那么它可以注册当这类事件发生时要调用的句柄。事件是某个行为或者触发,比如点击、鼠标移动..... 当用户点击鼠标时 当网页已加载时 当图像已加载时 当鼠标移动到元素上时 当用户触发按键时... 事件流 事件流描述的是从页面中接收事件的顺序,比如有两个嵌套的div,点击了内层的div,这时候是内层
小胖
2018/06/27
1.4K0
事件高级
给元素添加事件,称为注册事件或者绑定事件。 注册事件有两种方式:传统方式和方法监听注册方式
梨涡浅笑
2022/05/08
1.3K0
事件高级
「面试常问」系统理解浏览器之事件机制
在早期 IE 和 Netscape 团队在开发第四代浏览器的时候,遇到一个问题:当点击一个按钮的时候,是应该先处理父级的事件呢?还是应该先处理按钮的事件呢?IE 和 Netscape 给出了 2 种完全相反的答案,IE 提出事件冒泡的概念,而 Netscape 则支持事件捕获。
用户4456933
2021/06/01
5850
「面试常问」系统理解浏览器之事件机制
【Web前端】嵌套元素的“事件”冒泡?!
事件处理是创建交互式用户界面的关键部分,浏览器通过事件系统让我们能够捕获和响应用户的输入,比如点击、鼠标移动、键盘输入等。
一条晒干的咸鱼
2024/11/19
1550
【Web前端】嵌套元素的“事件”冒泡?!
JavaScript事件
JavaScript事件 对于事件来讲,首先,我们需要了解这样几个概念:事件;事件处理程序;事件类型;事件流;事件冒泡;事件捕获;事件对象;事件模拟,事件方面的性能优化(事件委托、移除事件处理程序); 事件的概念 事件:指的是文档或者浏览器窗口中发生的一些特定交互瞬间。我们可以通过监听器(或者处理程序)来预定事件,以便事件发生的时候执行相应的代码。 事件处理程序:我们用户在页面中进行的点击这个动作,鼠标移动的动作,网页页面加载完成的动作等,都可以称之为事件名称,即:click、mousemove、loa
汤高
2018/01/11
2.1K0
JavaScript事件
JavaScript——DOM事件高级
此方法将指定的监听器注册到eventTarger(目标对象)上,当该对象触发指定的事件时,就会执行事件处理函数。
岳泽以
2022/10/26
1.9K0
JavaScript——DOM事件高级
JavaScript小技能:事件
JavaScript 在不同环境下使用不同的事件模型:不同的编程环境下的事件机制是不同的,比如JavaScript 网页上的事件机制不同于在其他环境中的事件机制。(Node.js 的事件模型、浏览器插件WebExtensions技术的事件模型)
公众号iOS逆向
2022/08/22
1.5K0
JavaScript小技能:事件
事件高级
eventTarget.addEventListener()方法将指定的监听器注册到 eventTarget(目标对象)上,当该对象触发指定的事件时,就会执行事件处理函数。
星辰_大海
2020/09/30
1.5K0
浏览器中的事件委派、捕获、冒泡
当使用者与浏览器互动时,会触发各类不同的事件 (event),例如常见的点击 (click)、滑动 (scroll)。我们可以通过 JavaScript 的事件监听器 (handler),来处理这些事件。让我们能在事件触发时,做出我们要的效果,例如点击某个按钮,触发某个逻辑。
写bug的高哈哈
2025/01/30
1460
浏览器中的事件委派、捕获、冒泡
探索 React 合成事件
React 合成事件(SyntheticEvent)是 React 模拟原生 DOM 事件所有能力的一个事件对象,即浏览器原生事件的跨浏览器包装器。它根据 W3C 规范 来定义合成事件,兼容所有浏览器,拥有与浏览器原生事件相同的接口。
pingan8787
2020/11/22
4.1K1
探索 React 合成事件
相关推荐
Vue 3 事件处理
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验