JS中的DOM相关、事件绑定、事件委托、冒泡、捕获、阻止默认行为

5.2 js的加载 和 dom事件 特性同步加载(默认)异步加载(asyncdefer​加载行为阻塞 HTML 解析和渲染,直到脚本下载并执行完毕不阻塞 HTML 解析和渲染,脚本下载与页面解析并行进行​执行时机下载完成后立即执行async:下载完成后立即执行defer:HTML 解析完成后按顺序执行​执行顺序按照<script>标签在 HTML 中的顺序依次执行async:取决于下载完成的顺序defer:按照<script>标签的顺序​适用场景适用于需要严格顺序执行且不介意阻塞页面加载的脚本。 阅读详情

JS中的DOM相关、事件绑定、事件委托、冒泡、捕获、阻止默认行为

事件绑定

广义JavaScript:ECMAScript + DOM + BOM

狭义JavaScript:ECMAScript ES6 ES5 ES3


//事件绑定
document.getElementById('btn').onclick = function(){
    alert('dom0级事件,事件绑定!');
}//只执行最后一个事件
​
//事件监听
// element.addEventListener(event,function,useCapture)//removeEventListener()
// event 必传参数,事件名,支持所有DOM事件
// function 必传参数,指定要触发的函数
// useCapture 可选,事件的执行方式,true 捕获,false 冒泡,默认false冒泡
// IE8:element.attachEvent(event,function)
// event 必传参数,事件类型,需要加on,onclick
// function:指定事件触发时要执行的函数
document.getElementById('btn2').addEventListener("click",fun2);
document.getElementById('btn2').addEventListener("click",fun3);
function fun2(){
    alert("事件监听,首个事件");
}
function fun3(){
    alert("事件监听,第二个事件!");
}

阻止事件冒泡

e.stopPropagation();//Propagation蔓延

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <div id="div1">
            div1
            <div id="div2">
                div2
            </div>
        </div>
    </body>
    <script>
        document.getElementById("div1")
        .addEventListener('click',function(e){
            alert("div1");
        },false);
        
        document.getElementById('div2')
        .addEventListener('click',function(e){
            e.stopPropagation();
            alert('div2');
        },false);
    </script>
</html>

IE:e.cancelBubble = true

事件委托

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <ul id="demo">
            <li>1</li>
            <li>2</li>
            <li>3</li>
        </ul>
    </body>
    <script>
        // 事件委托
        document.getElementById("demo")
        .addEventListener('click',function(e){
            var e = e || window.event;
            if(e.target.nodeName.toLowerCase() == 'li'){
                alert(e.target.innerHTML);
            }
        },false);
    </script>
</html>

阻止默认行为

e.preventDefault();

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <a href="http://www.baidu.com">百度</a>
    </body>
    <script>
        document.querySelector('a')
        .onclick = function(e){
            // e.preventDefault();
            return false;
        }
    </script>
</html>
CNN卷积神经网络手写数字识别实例及代码详解 本文的代码来自githup的Deep Learning的toolbox,是用Matlab实现的。感谢该toolbox的作者付出和分享。 我在应该该代码进行训练时,出现一些报错,如expand函数应用不对,flipall函数未定义等问题,对这些问题进行了修正,完成网络训练和验证。 本文mnist_uint8.mat的获取可以参照我的另一篇博客:MNIST数据库处理--matlab生成mnist_ 阅读详情

相关推荐

Halcon dyn_threshold详解

dyn_threshold 原型 dyn_threshold(OrigImage, ThresholdImage : RegionDynThresh : Offset, LightDark : ) 功能 利用局部阈值分割图像 参数列表 OrigImage (input_object):原始图像 ThresholdImage (input_object):处理后图像(一般采用滤波处理) RegionDynThresh (output_object):分割后区域 Offset (input_control):灰

ZiLiangQin的博客 1万+

ES5-03 事件监听 - 委托(事件委托)

事件委托1 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equi...

weixin_42549581的博客 251

Qwen2.5-7B大模型实战:从零部署到高效推理全流程解析

本文详细解析了Qwen2.5-7B大模型从零部署到高效推理的全流程。内容涵盖环境准备、模型下载、使用Transformers进行核心对话推理,并深入介绍了vLLM与TGI生产级服务部署、GPTQ/AWQ量化技术以降低显存消耗,以及llama.cpp、Ollama等本地推理方案。旨在帮助开发者快速掌握部署技巧,实现大模型在消费级硬件上的高效运行。

weixin_29061425的博客 490

JS、阻止 a 标签的默认点击事件,阻止默认的所有事件

JS、阻止 a 标签的默认点击事件,阻止默认的所有事件 1 . javascript:void(0) 空处理 缺点:当超链接有target="_blank"属性时,点击后任然会跳出空白页面 <a href="https://www.baidu.com/" target="_blank">超链接1</a> <a href="javascript:void(0);">超链接2</a> <a href="javascript:void(0);"

qq_40893035的博客 2109

华为网络实战:5分钟搞定OSPF+VRRP+MSTP多协议联动配置(附完整命令集)

本文深入解析了在企业网络中如何高效协同部署OSPF、VRRP和MSTP三大协议。通过一个典型的双核心网络案例,详细阐述了从规划、配置到验证的完整流程,重点强调了确保MSTP根桥与VRRP主设备一致的设计原则,以实现最优的二层与三层流量转发路径,并提供了完整的命令集和故障排查思路。

weixin_29251337的博客 153

【Altium Designer】Off grid pin解决方法

​今天我画完原理图编译时,出现了太多的黄色(出现warning警告提示)Off grid pin警告,这个警告并不是原理图电气连接出问题了,而是元器件或器件PIN脚没有和栅格对齐造成的原因。再编译还是出现这个警告。 最后经过不断翻阅网上经验和实践,才最终解决,本经验详细记录了解决该警告的有效方法。 解决方案:以下是问题解决步骤... ​

夜半少年的博客 7548

js中常用绑定事件的事件代理/委托?

事件代理,又称事件委托,将原本应该绑定在子元素身上的事件绑定在父元素身上,让父元素担当事件监听的职务,本质是触发事件冒泡。优点:提高性能,节约内存,新添加的子元素也能绑定上事件。缺点:使用不当会造成事件在不应该触发时触发。点击添加按钮,添加列表。

qq_53787962的博客 553

[Python从零到壹] 十三.机器学习之聚类算法四万字总结全网首发(K-Means、BIRCH、树状聚类、MeanShift)

欢迎大家来到“Python从零到壹”,在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界。所有文章都将结合案例、代码和作者的经验讲解,真心想把自己近十年的编程经验分享给大家,希望对您有所帮助,文章中不足之处也请海涵。Python系列整体框架包括基础语法10篇、网络爬虫30篇、可视化分析10篇、机器学习20篇、大数据分析20篇、图像识别30篇、人工智能40篇、Python安全20篇、其他技巧10篇。您的关注、点赞和转发就是对秀璋最大的支持,知识无价人有情,希望

杨秀璋的专栏 2万+

js 委托事件绑定

js 委托事件绑定 $(document).on('click','.btn2',function(){} $.ajax({ type : "post", url : pathmenu, dataType : "json",//返回json格式 async : false, success : function(responseData) { var li_menu="<ul class=\"nav metismenu\" id=\"side-menu\">" + "&lt

wanggeying 704

C#里使用NModbus来创建一个TCP从站服务

摘要:本文介绍了一个用C#实现的Modbus TCP从站服务器,基于.NET Framework 4.6.1开发。代码使用NModbus库创建TcpListener和ModbusSlaveNetwork,支持设置IP地址、端口号和从站ID。服务器实现了数据存储初始化功能(包括线圈和保持寄存器),并提供了启动/停止操作的UI界面和日志记录功能。该解决方案适用于需要调试Modbus TCP协议的场景,特别适合无法升级到更高版本.NET Framework的环境。

大坡3D软件开发 477

【深度学习新浪潮】算力上太空:NVIDIA Space-1 Vera Rubin Module 深度技术解析

NVIDIA Space-1 Vera Rubin Module 不只是一款芯片模组,它是天地一体化 AI 的基础设施底座。它用成熟的 GPU 架构 + 航天级加固,把地面 AI 生态直接平移到太空。下一个 AI 创新战场,不在云端,而在轨道。在轨 LLM星上多模态实时处理卫星自主组网与分布式推理太空算力成为云计算的一级节点参考资料NVIDIA 官方博客:NVIDIA 推出太空计算,将 AI 送入太空轨道GTC 2026 黄仁勋主题演讲。

专注:太空算力、AI infra、异构调度、大模型成本工程 1125

JS事件委托

作用:事件委托主要用来减少内存消耗,不用处理多次循环绑定 使用方法: var target = document.getElementsById("获取元素") //元素调用 target.addEventListener(type, listener, options); type:必选参数,需要绑定的事件名称,"不要带on" listener:必选参数,回调函数,你需要绑定的方法; options:可选参数,默认为false;表示"事件冒泡",设置为true后为"事件捕获" 1、捕获阶段:事件从win

YuHang6686的博客 8938

YOLOv11改进 | 添加注意力篇 | 结合2024最新Mamba注意力机制MLLA助力yolov11有效涨点含二次创新C2PSA(全网独家首发改进)

本文给大家带来的改进机制是结合号称超越Transformer架构的Mamba架构的最新注意力机制MLLA,本文将其和我们YOLOv11进行结合,的原理是通过将Mamba模型的一些核心设计融入线性注意力机制,从而提升模型的性能。具体来说,MLLA主要整合了Mamba中的“忘记门”(forget gate)和模块设计(block design)这两个关键因素,同时MLLA通过使用位置编码(RoPE)来替代忘记门,从而在保持并行计算和快速推理速度的同时,提供必要的位置信息。

Snu77的博客 3870

JavaScript学习——事件

事件代理的原理是DOM元素的事件冒泡。例如,鼠标操作导致的事件对象中,包含鼠标为位置的信息,而键盘操作导致的事件对象中,会包含与按下的键有关的信息。从事件的目标的事件处理函数开始,从下依次向上,会向自己的父级元素传播,逐级传播,就会到达body、html,之后传播到Document,最后到Window,直到window的事件处理函数执行。​ 当大盒子嵌套小盒子,并且两个盒子都有自己的点击事件时,我点击了内部的盒子,两个盒子的事件都被触发,因为我们点击在金色的盒子上面的时候,也是点击在红色的盒子上。

m0_54657091的博客 188

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

STM32F407中文手册

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

JavaScript事件流、事件对象事件绑定监听(冒泡、捕获、委托、阻止)、事件移除等系列详解

在开发Web应用程序中,事件处理是所有开发者都无法避开的核心概念之一。在JavaScript编程的世界中,事件驱动编程模型是构建与用户交互的主要关键。所以,事件处理涉及的不仅仅是响应用户的某个交互行为,例如,点击、按键、滚动等,它还包括了在用户执行这些操作时,能够优雅快速地做出响应。所以,理解事件对象、事件监听器、事件目标等关键概念是我们构建高效交互必经之路。

沐枫 1万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

在JavaScript 如何阻止事件冒泡和事件默认行为?

事件冒泡和默认行为是JavaScript事件处理中的两个核心概念,理解并掌握它们的控制方法,是写出流畅交互的前提。事件冒泡就像水中涟漪,会从触发点向上扩散,能有效阻止这种扩散,避免父元素的事件被误触发。这在处理嵌套元素的交互(如弹窗、下拉菜单)时特别重要,能防止“点A触发B”的乌龙事件。浏览器的默认行为是把双刃剑,方便了基础交互却限制了自定义需求。就像一把“总开关”,能禁用这些预设动作,让我们自由实现表单验证、自定义链接跳转等功能。事件对象是基础,必须正确获取和传递现代项目优先用和。

前端大白话 1397

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

JavaScript基础之事件冒泡、事件捕获、事件委托(事件代理)、事件绑定

JavaScript基础之事件冒泡、事件捕获、事件委托、事件绑定可以说是JavaScript基础中最为重要的知识点。下面就来介绍一下相关知识。 我们知道,在dom模型中,html是多层次的,当一个html元素上产生事件时,该事件会在dom树元素节点之间按照特定的顺序去传播。传播路径的每一个节点,都会收到这个事件,这就是dom事件流。当事件发生后,就会从内向外逐级传播,因为事件流本身没有处理事件的能力,所以,处理事件的函数并不会绑定在该事件源上。例如我们点击了一个按钮,产生了一个click事件,click事

lee前端技术站 4743

【前端面试--JS】=> 谈谈事件冒泡、事件捕获和事件委托

前言 ​ 事件冒泡、事件捕获、事件委托、事件绑定可以说是JavaScript基础中最为重要的知识点 公司:腾讯 DOM事件流 事件流描述的是从页面中接收事件的顺序。 事件发生时会在元素节点之间按照特定的顺序传播,这个传播过程即DOM事件流。 包括三个阶段: 事件捕获阶段 处于目标阶段 事件冒泡阶段 我们知道,在dom模型中,html是多层次的,当一个html元素上产生事件时,该事件会在dom树元素节点之间按照特定的顺序去传播。传播路径的每一个节点,都会收到这个事件,这就是dom事件流。当事件发生后,

小小前端攻城狮的博客 1736

【Web APIs】JavaScript 事件高级 ⑤ ( 事件对象属性 | 阻止默认行为 | 阻止事件传播 | 事件委托 )

一、JavaScript 事件对象属性 1、事件对象属性类型 2、事件对象 通用属性 3、事件对象 鼠标事件属性 二、JavaScript 阻止事件行为 1、阻止默认行为 2、阻止事件传播 三、JavaScript 事件委托 1、事件委托 2、事件委托步骤 3、事件委托代码示例 二、代码示例 1、代码示例 - 事件类型属性 ① 代码示例 ② 执行结果 2、代码示例 - 阻止默认行为 ① 代码示例 ② 执行结果 3、代码示例 - 阻止事件传播行为 ① 代码示例 ② 执行结果 4、代码示例 - 事件委托

让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 ) 1185

【Java Web学习 | 第13篇】JavaScript(7) - 事件绑定 + 事件

本文介绍了JavaScript事件处理的核心概念,包括事件监听三要素(事件源、事件类型、处理函数)以及DOM L0和L2级事件的区别。

在代码与逻辑的星河里,捡拾技术的微光 1093

DOM 事件相关知识总结——事件绑定、事件流(事件冒泡、捕获)

onclickalert'我被点击了!优点:大家都会,几乎所有的浏览器都支持缺点:夹杂在HTML代码中,代码不简洁;这种事件写法效率不高;不符合“行为,样式,结构”相分离。

alokka的博客 1079

js的dom事件流、事件委托和阻止绑定事件触发

主要讲解事件绑定和事件委托,onclick事件和addEventListener的区别

风如也的博客 1028

你真的理解事件绑定、事件冒泡和事件委托吗?

一文了解Web API中的事件绑定、事件冒泡、事件委托引言正文一、事件绑定1、事件和事件绑定时什么?2、事件是如何实现的?二、事件冒泡1、事件模型2、事件模型解析(1)捕获阶段(2)目标阶段(3)冒泡阶段3、addEventListener语法4、事件冒泡和事件捕获举例(1)事件冒泡(2)事件捕获(3)事件捕获VS事件冒泡三、事件代理(事件委托)四、总结和回顾结束语 引言 事件,是JS Web API比较重要的一个知识点。我们平常所看到的网页,肯多内容都要用到事件。比如说一个点击、一个下拉、一个滚动,都要用

moandaylab 776

面试题:什么是事件委托? 怎么阻止默认动作? 怎么阻止事件冒泡?

DOM 事件相关 1.什么是事件委托? 2.怎么阻止默认动作? 3.怎么阻止事件冒泡? 1.什么是事件委托? 事件委托也称之为事件代理(Event Delegation)。是JavaScript中常用绑定事件的常用技巧。顾名思义,“事件代理”即是把原本需要绑定在子元素的响应事件委托给父元素,让父元素担当事件监听的职务。事件代理的原理是DOM元素的事件冒泡。 举例:比如一个宿舍的同学同时快递到了,一种方法就是他们一个个去领取,还有一种方法就是把这件事情委托给宿舍长,让一个人出去拿好所有快递,然后再根.

baidulixueqin的博客 1244

什么是事件冒泡和事件捕获、事件委托,他们的作用

事件模型 JavaScript事件使得网页具备互动和交互性,我们应该对其深入了解以便开发工作,在各式各样的浏览器中,JavaScript事件模型主要分为3种:原始事件模型、DOM2事件模型、IE事件模型。 一.原始事件模型(DOM0级) 这是一种被所有浏览器都支持的事件模型,对于原始事件而言,没有事件流,事件一旦发生将马上进行处理,有两种方式可以实现原始事件: (1)在html代码中直接指定属性值: (2)在js代码中为 document.getElementsById(“demo”).onclick =

weixin_46449470的博客 1930

web前端高级JavaScript - 事件和事件绑定的基础知识梳理

事件 什么是事件 事件是浏览器赋予元素的默认行为,也可以理解为事件是天生具备的,不论我们是否为其绑定方法,当某些行为触发的时候,相关的事件都会被触发执行,只不过如果没有为其绑定方法,当事件被触发的时候将什么都不做。 浏览器赋予元素的事件行为 事件参考 鼠标事件 click 点击事件(PC:点击N次就触发N次事件) 单击事件(移动端:300ms内没有发生第二次点击操作,算作单击事件行为,所以click在移动端有300ms的延迟) dblclick 双击事件 contextmenu 鼠标右键点

lixiaosenlin的专栏 5898
上一篇: JS数据类型、数据类型检测、数据类型转换
下一篇: 匿名函数自调用的不同写法
SignalFire
博客等级 码龄7年 119粉丝 129原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值