js--事件--事件处理程序

JS 中事件流和事件处理程序(详细整理) JS 中事件流和事件处理程序   JavaScript 与 HTML 的交互是通过事件实现的,事件代表文档或浏览器窗口中某个有意义的时刻(用户或浏览器执行了某种动作)。可以使用仅在事件发生时执行的监听器(也叫处理程序)来订阅事件。这个模型叫 “观察者模式”,其能够做到页面行为(在 JavaScript 中定义)与页面展示(在 HTML 和 CSS 中定义) 的分离。 一、事件流   当你点击一个按钮时,实际上不光点击了这个按钮,还点击了它的容器以及整个页面。这个点击产生了不止一个事件。而是一个事件流。    阅读详情

关于事件写了一系列文章
1.事件流(事件捕获和事件冒泡)
http://blog.youkuaiyun.com/github_34514750/article/details/53067077
2.事件处理程序
本文介绍事件处理程序
3.事件对象
http://blog.youkuaiyun.com/github_34514750/article/details/53084014
4.通用的事件侦听器函数
http://blog.youkuaiyun.com/github_34514750/article/details/53084034
5.事件循环(event loop)
http://blog.youkuaiyun.com/github_34514750/article/details/53067106
6.事件代理((event delegation)
http://blog.youkuaiyun.com/github_34514750/article/details/53067133

1.事件处理程序(HTML事件处理程序,DOM0事件处理程序,DOM2事件处理程序,IE事件处理程序,跨浏览器事件处理程序)

在以下几点进行对比和了解:
1.各种事件处理程序的添加和删除
2.在捕获阶段或者是冒泡阶段执行事件处理程序
3.是否可以添加多个事件处理程序

HTML事件处理程序

DOM0级事件处理程序

1.=null就是事件的删除

2.这种事件处理程序会在事件流的冒泡阶段被处理

3.DOM0级对每个事件只支持一个事件处理程序

// 添加事件处理程序
var btn = document.getElementById("myBtn");
btn.onclick = function() {
    alert(this.id); //"myBtn"
};
//删除事件处理程序
btn.onclick = null;

DOM2级事件处理程序

DOM2级方法添加事件处理程序主要好处是可以添加多个事件处理程序,并按照他们的顺序触发

var btn = document.getElementById("myBtn");

btn.addEventListener("click",function() {
    alert(this.id);
},false);
btn.addEventListener("click",function() {
    alert("Hello World!");
},false);

attention:通过addEventListener和removeEventListener来添加和删除事件处理程序,但是移除和添加处理程序的时候参数必须相同,这意味着addEventListener添加的匿名函数将无法移除

//错误的写法

var btn = document.getElementById("myBtn");

btn.addEventListener("click",function() {
    alert(this.id);
},false);

// 这个和addEventListener的函数完全不是同一个函数,匿名函数无法移除
btn.removeEventListener("click",function() {
    alert(this.id);
},false);

//正确的写法

var btn = document.getElementById("myBtn"),
    handler = function() {
        alert(this.id);
    };

btn.addEventListener("click",handler,false);

// 这样就删除掉了
btn.removeEventListener("click",handler,false);

IE事件处理程序

1.增加删除事件处理程序attachEvent()和detachEvent()

2.IE只支持冒泡,因此由attachEvent()添加的事件处理程序会被添加到冒泡阶段

3.attachEvent()方法也可以为一个元素添加多个事件处理程序

var btn = document.getElementById("myBtn");
btn.attachEvent("onclick",function(){
    alert("Clicked");
});

跨浏览器事件处理程序

var EventUtil = {
    //根据情况分别使用dom2 || IE || dom0方式 来添加事件
    addHandler:function(element,type,handler) {
        if(element.addEventListener) {
            element.addEventListener(type,handler,false);
        } else if(element.attachEvent) {
            element.attachEvent("on" + type,handler);
        } else {
            element["on" + type] = handler;
        }
    },
    //根据情况分别使用dom2 || IE || dom0方式 来删除事件
    removeHandler:function(element,type,handler){
        if(element.removeHandler) {
            element.removeEventListener(type,handler,false);
        } else if(element.detachEvent) {
            element.detachEvent("on" + type,handler);
        } else {
            element["on" + type] = null;
        }
    }
}

var btn = document.getElementById("myBtn"),
    handler = function () {
        alert("Clicked");
    };

EventUtil.addHandler(btn,"click",handler);
EventUtil.removeHandler(btn,"click",handler);
使用vite+react+ts+Ant Design开发后台管理项目(四) 本文将引导开发者从零基础开始,运用、react、react-router、react-redux、Ant Design、less、tailwindcss、axios等前沿技术栈,构建一个高效、响应式的后台管理系统。通过详细的步骤和实践指导,文章旨在为开发者揭示如何利用这些技术工具,从项目构思到最终实现的全过程,提供清晰的开发思路和实用的技术应用技巧。使用vite+react+ts+Ant Design开发后台管理项目(一)使用vite+react+ts+Ant Design开发后台管理项目(二) 阅读详情

相关推荐

vllm运行过程中出现cuda out of memory

将长序列分解为多个小块,每个块分别处理。这样可以减少单次 Prefill 的计算量和显存占用,从而优化 TTFT 和显存使用效率。考虑使用 CPU 卸载(如 --cpu-offload-gb),将部分缓存卸载到 CPU 内存中,扩展 GPU 的虚拟内存。在大语言模型中,当输入序列很长(例如超过 1024 个 Token)时,Prefill 阶段的计算量会非常大。最后增加了enable-chunked-prefill参数和max_num_batched_tokens解决了问题。参数来进一步优化性能。

盛世芳华 3517

js事件处理程序

Dom2 添加事件监听,使用“click”,省略‘on’,事件可以有两种机制“捕获和冒泡。-DOM0 以“on”开头添加事件,事件默认只有冒泡机制。而响应某个事件的函数就叫做事件处理程序(或事件侦听器)一个事件处理程序只能执行一个事件处理函数。可以给一个元素同时添加多次事件处理函数)-DOM2级事件处理程序。DOM0级事件处理程序。

qq_59599812的博客 450

FastAPI + Layui:打造企业级敏捷开发后台管理系统

本文详细介绍了如何使用FastAPI和Layui构建高效的企业级后台管理系统。FastAPI提供高性能的异步API支持,而Layui则简化了前端开发流程,两者结合可实现快速开发和部署。文章涵盖了从环境搭建、核心组件开发到性能优化的全流程,特别适合需要敏捷开发的企业项目。

weixin_29045585的博客 555

细说JavaScript事件处理(JavaScript事件处理详解)

js语言的一个特色和就是它的动态性,即一时间驱动的方式对用户输入作出反应而不需要依赖服务器端程序。事件是指人机交互的结果,如鼠标移动、点击按钮、在表单中输入数据或载入新的Web洁面等。

zhishunet 1248

Python爬虫实战:利用Playwright与反反爬技术抓取Crunchbase企业数据

在当今数据驱动的商业环境中,获取准确的企业信息对于市场分析、竞争情报和投资决策至关重要。Crunchbase作为全球领先的企业信息平台,包含了数百万家公司、投资者和关键人员的详细数据。本文将深入探讨如何使用Python最新爬虫技术Playwright,结合多种反反爬策略,高效抓取Crunchbase企业数据。我们将从爬虫基础概念讲起,逐步深入到高级技巧,并提供完整的代码实现,帮助读者掌握现代网络数据采集的核心技术。网络爬虫技术自互联网诞生以来经历了显著演变。

2201_76125261的博客 1833

PCL 点云加权均值收缩

PCL 点云加权均值收缩

dayuhaitang1的博客 689

JavaScript 编程精粹:JavaScript 事件处理

JavaScript 编程精粹:JavaScript 事件处理一 . BOM1.1 Window1.1.1 alert()1.1.2 confirm()1.1.3 setInterval()1.1.4 setTimeout()1.1.5 小案例 - 通过定时器来控制灯的亮暗1.2 History1.3 Location二 . DOM2.1 获取 Element 对象2.2 常见 Element 对象的使用三 . 事件监听3.1 事件绑定3.2 常见事件3.3 需求 : 移出输入框自动校验格式3.3.1 验证

m0_53117341的博客 1218

中兴交换机如何配置?有哪些常用的配置命令,本文值得收藏!

中兴交换机是一种常见的网络设备,用于构建和管理企业网络。它提供了丰富的功能和灵活的配置选项,使网络管理员能够根据特定需求进行定制化配置。本文将详细介绍中兴交换机的配置过程,包括登录、基本设置、VLAN配置、接口配置和安全配置等内容。

网络技术联盟站 1万+

JavaScript的对象事件处理程序

常见的对象事件包括: 表单事件:当用户点击一个可交互的对象(如按钮等)时触发。 键盘事件:当用户在键盘上按下或释放一个键时触发。 鼠标事件:当用户在对象上移动鼠标、点击鼠标按钮或滚动鼠标滚轮时触发。 定时事件:当到达指定的时间点或间隔时触发的事件,常用于定时任务和计时器功能。

2302_81399643的博客 1043

一张图读懂 SAP S/4HANA Cloud 与 SAP BTP 的扩展版图

本文解析了SAP S/4HANA Cloud的扩展技术谱系,提出扩展应分为on-stack(系统内)和side-by-side(并行)两种路径,并沿着低代码到专业代码的能力梯度进行分层。on-stack扩展包括面向业务人员的Key User Extensibility和面向开发者的Developer Extensibility,强调贴近核心业务对象;side-by-side扩展则依托SAP BTP平台,提供SAP Build低代码工具、CAP开发框架和ABAP云环境三种方案,支持解耦创新。文章通过五个真实案

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 255

SAP Fiori Launchpad Tile,UI5 应用,和 PFCG Role 的对应关系

问题:已经看到了SAP Fiori Launchpad上的某个tile,如何反推后台需要配置哪个PFCG Role才能看到该tile? 这个问题是今天一个朋友在微信上问我的。因为我最近忙着学习一个新的SAP产品,所以这个问题也没有时间展开来写,本文就只做概要介绍。 下图是一个Gateway系统上打开的SAP CRM Fiori Launchpad: 如何弄清楚后台用户配置了哪个PFCG Role之后,才能看到Sales Representative(CRM)这个Group下的tile? 既然当前我使用的用

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1521

js的事件处理

js的事件处理

bbdRzzz的博客 965

STM32cubemx配置驱动DHT11模块

本篇文章将带大家学习使用DHT11湿温度模块,使用这个模块可以获取当前的温度和湿度数据。DHT11可以用于智能家居,蔬菜大棚等项目当中适用范围广。DHT11 是一种数字式温湿度传感器,由杜邦公司推出。它可以测量环境中的温度和湿度,并将测量结果以数字形式传输给微控制器或其他电子设备,适用于通过数字信号读取环境温湿度的应用场景。DHT11 传感器使用单总线数据交换协议,可以通过一个 I/O 引脚进行控制和数据传输。

m0_49476241的博客 5912

JavaScript之事件处理程序

JavaScript之事件处理程序 以下内容转载编辑自lijia_1983370657 js的事件处理程序有五种类型,分别是: (1)HTML事件处理程序; (2)DOM0级事件处理程序; (3)DOM2级事件处理程序; (4)IE事件处理程序; (5)跨浏览器的事件处理程序; 下面我们来分别解释一下这五种事件处理程序 (1)HTML事件处理程序:事件直接写在DOM节点内部 <but...

TSORA-C的博客 289

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

总结JS事件处理程序(5种)

js的事件处理程序有五种类型,分别是: (1)HTML事件处理程序; (2)DOM0级事件处理程序; (3)DOM2级事件处理程序; (4)IE事件处理程序; (5)跨浏览器的事件处理程序; -------------------------------------------------------------------------------------- 下面我们来分别解释一

李大大的博客 1721

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

JavaScript 事件处理程序

HTML 事件处理程序、DOM0级处理事件程序、DOM2级处理事件程序... DOM0级处理事件程序就是将一个函数赋值给一个事件处理程序属性,可以认为是元素的方法,在这个事件处理程序的作用域中,可以用this访问到该元素的任何方法和属性。 DOM2级事件处理程序定义了两个方法:`addEventListener()`和`removeEventListener()`,所有DOM节点都包含这两个方法。

qq_39706777的博客 922

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

javascript事件处理程序

javascript 事件处理程序 1、普通事件处理程序       function showMessage(){ alert("clicked"); } 2、DOMO 级事件处理程序 //老方法 var btn=document.getElementById("myBtn"); //dom扩展方法 支持主流浏览器,类似jquery语法 var btn=

1222

JavaScript中的事件处理程序

事件:指文档或浏览器窗口中发生的特定的交互瞬间。JavaScript<——>HTML 事件流:描述的是从页面中接受事件的顺序,包括IE提出的事件冒泡流(即事件最开始由最具体的元素接收,然后逐级向上传播至最不具体的节点或文档)和Netscape提出的事件捕获流(即不太具体的节点应该更早接收事件,而最具体的节点最后接收事件)。事件处理程序分为一下几类:1.HTML事件处理程序 事件加在HTML代码中

左岸 448

JS中的事件处理程序

什么是事件和事件处理程序? 事件就是用户或浏览器执行的某些动作,诸如click,load,mouseover等,都是事件的名字,而响应某个事件的函数就是事件处理程序,事件处理程序的名字是在事件的名字前面加上“on”。例如:onclick是click事件的事件处理程序,onload是load事件的事件处理程序。总共有4种事件处理程序,介绍如下: HTML事件处理程序: 写法一:&lt;inp...

lishundi的博客 645

js基础-事件处理程序

本文旨在简单梳理事件处理程序的几种方式~~~ js事件处理程序的几种方式 参考:[wiki.jikexueyuan.com/project/bri…] HTML 事件处理程序 js 指定事件处理程序 DOM0级事件处理程序 DOM2级事件处理程序 IE 事件处理程序 HTML 事件处理程序 两个缺点: 存在时差问题 html 和 js 代码紧密结合 js 指定事件处理程序 ...

weixin_33955681的博客 209

Javascript事件处理程序

事件处理程序 事件就是用户或浏览器自身执行的某种动作,如Click,load和mouseover,都是事件的名称。而响应某个事件的函数就叫事件处理程序(或事件监听器)。 1.HTML事件处理程序 某个元素支持的每种事件,都可以与一个相应事件处理程序同名的HTML特性来指定,这个特性的值能够执行Javascript代码,列如,在按钮被点击时执行一些Javascript,如下。 <input type="button" value="click me" onclick="alert('Clicked')"

m0_53120035的博客 190

javascript事件处理程序(事件侦听器)

事件处理程序也叫事件侦听器,什么是事件处理程序?那首先,什么是事件?事件就是用户或者浏览器自身执行的某种动作,如:click、load等都是事件的名字。而响应时间的函数就叫做事件处理程序,如:onclick,onload 添加事件处理程序的方法 为元素添加事件处理程序有多种方法: 一、在元素上添加,如: <input type="button" value="clickMe" onclic...

weixin_33921089的博客 299

JavaScript 事件处理程序课件

在 Web 开发中,事件是文档或浏览器窗口中发生的特定交互瞬间,比如用户点击按钮、页面加载完成等。JavaScript 可以捕获这些事件并执行相应的代码,从而实现页面的交互性。HTML 事件是指直接在 HTML 标签中使用事件属性来绑定事件处理代码。这种方式将 HTML 与 JavaScript 代码混合在一起。DOM0 级事件是一种传统的事件处理方式,通过 JavaScript 直接访问 HTML 元素的事件属性来绑定事件处理函数。DOM2 级事件是 W3C 标准定义的事件处理方式,通过。

weixin_56334307的博客 857

关于JavaScript中事件处理程序浅析

本文较为浅显的说明了javascript中事件流的事件处理程序。 事件流描述的是从页面中接收事件的顺序,但ie的事件流是时间冒泡,而Netscape的事件流则是事件捕获

weixin_39382726的博客 288

JavaScript 事件流、事件对象总结和事件处理程序

JS与HTML之间的交互通过事件实现。事件就是文档或浏览器窗口中发生的一些特定的交互瞬间。可以使用监听器(或处理程序)来预定事件,以便事件发生时执行相应的代码。这种在传统软件工程中被称为观察员模式,支持页面的行为与页面的外观之间的松散耦合。本文将介绍老修哥JS事件相关的基础知识。   1、事件流 事件冒泡 IE的事件流叫做事件冒泡(event bubbling),即事件开始时由最具体的元素

iongzhidun2的博客 384

探究JavaScript中的五种事件处理程序

探究JavaScript中的五种事件处理程序   我们知道JavaScript与HTML之间的交互是通过事件实现的。事件最早是在IE3和Netscape Navigator 2中出现的,当时是作为分担服务器运算负载的一种手段。  通俗地理解,事件就是用户或浏览器自身执行的某种操作。而事件处理程序即为响应某个事件的函数。抽出主干,即事件处理程序为函数。  我们又把事件处理程序称为事件侦听器。

u011610627的博客 412
上一篇: js--事件--事件代理
下一篇: js--事件--事件对象
github_34514750
博客等级 码龄11年 44粉丝 198原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值