JS-项目实战-代码优化-事件动态绑定

1、鼠标悬浮和离开事件.js

//当页面加载完成后执行后面的匿名函数
window.onload = function () {//get:获取     Element:元素    By:通过...方式//getElementById()根据id值获取某元素let fruitTbl = document.getElementById("fruit_tbl");//table.rows:获取这个表格的所有的行,返回数组let rows = fruitTbl.rows;//从 1 开始,因为 第 0 行是表头,不需要绑定事件for (let i = 1; i < rows.length; i++) {let tr = rows[i];//事件动态绑定tr.onmouseover = showBGColor;tr.onmouseout = clearBGColor;}
};
function showBGColor() {//window.event表示当前发生的事件 ”window.“可以省略// console.log(window.event);// alert(window.event);let obj = window.event.srcElement;//alert(obj);//console.log(obj);   //发现obj是td,而不是tr。事件传递现象let td=obj;//parentElement:父元素   td的父元素是tr。tr有很多td子元素let tr = td.parentElement;tr.style.backgroundColor = "purple";
}function clearBGColor() {let td = window.event.srcElement;let tr = td.parentElement;tr.style.backgroundColor = "transparent";
}

2、fruit.html

<!DOCTYPE html>
<html lang="zh_CN">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>js-DOM/BOM实战</title><link href="style/fruit.css" rel="stylesheet"></link><script src="js/鼠标悬浮和离开事件.js"></script></head>
<body><div id="div0"><div id="div_title">欢迎使用水果库存系统</div><div id="div2"><table id="fruit_tbl"><tr><th class="w10"><input type="checkbox" /></th><th class="w20">名称</th><th class="w20">单价</th><th class="w20">数量</th><th class="w20">小计</th><th class="w10">操作</th></tr><!-- on:当...时候  mouse:鼠标  over:在...上--><!--当鼠标悬浮在这个tr上时,调用showBGColor()这个方法--><tr><td><input type="checkbox" /></td><td>苹果</td><td>5</td><td>2</td><td>10</td><td><img src='imgs/del.png' class="delBtn"/></td></tr><tr><td><input type="checkbox" /></td><td>菠萝</td><td>3</td><td>5</td><td>15</td><td><img src='imgs/del.png' class="delBtn"/></td></tr><tr><td><input type="checkbox" /></td><td>哈密瓜</td><td>4</td><td>5</td><td>20</td><td><img src='imgs/del.png' class="delBtn"/></td></tr><tr><td><input type="checkbox" /></td><td>葡萄</td><td>10</td><td>5</td><td>50</td><td><img src='imgs/del.png' class="delBtn"/></td></tr><tr><td><input type="checkbox" /></td><td>青梅</td><td>10</td><td>5</td><td>50</td><td><img src='imgs/del.png' class="delBtn"/></td></tr><tr><td><input type="checkbox" /></td><td>人参果</td><td>10</td><td>5</td><td>50</td><td><img src='imgs/del.png' class="delBtn"/></td></tr><tr><td><input type="checkbox" /></td><td>菠萝蜜</td></td><td>10</td><td>5</td><td>50</td><td><img src='imgs/del.png' class="delBtn"/></td></tr><tr><td><input type="checkbox" /></td><td>西红柿</td><td>10</td><td>5</td><td>50</td><td><img src='imgs/del.png' class="delBtn"/></td></tr></table></div></div>
</body>
</html>

3、fruit.css

*{color:rgb(3, 31, 2);font-weight: lighter;
}
body{padding:0;margin:0;background-color: rgb(3, 31, 2);
}
#div0{width:80%;border:0px solid red;background-color: rgb(209, 230, 235);margin-left:10%;padding-top:48px;padding-bottom:48px;margin-top:8px;
}
#div_title{width:80%;margin-left:10%;text-align: center;font-size:24px;letter-spacing: 4px;margin-bottom:16px;
}
#div2{margin-left:10%;border:0px solid red;width:80%;
}
.delBtn{width:16px;height:16px;
}
#fruit_tbl , #fruit_tbl td, #fruit_tbl th {border:1px solid lightgray;text-align: center;
}
#fruit_tbl{width:100%;line-height: 32px;border-collapse: collapse;
}
.w10{width:10%;
}
.w15{width:15%;
}
.w20{width:20%;
}

 4、window.onload

window.onload 是一个 JavaScript 事件,它会在整个页面及所有页面资源(如图片、样式表等)都加载完成后触发。它的作用是允许开发者在页面完全加载后执行脚本,以确保所有页面资源都已加载完毕。

window.onload 通常用于初始化页面,例如向页面添加事件监听器、初始化表单、设置样式等。除此之外,

window.onload 也可以用于在页面加载完成后执行一些异步操作,如发送 AJAX 请求等。

window.onload 是一个事件,它在所有的 HTML 元素和其他资源(如图片和样式表)都加载完成后触发。它可以用来确保页面完全加载后再执行 JavaScript 代码,以避免出现不可预料的错误和问题。

window.onload 事件中,可以对页面进行修改、添加事件监听器、初始化变量等操作。此外,也可以在

window.onload 事件中调用其他 JavaScript 函数,以确保这些函数在页面完全加载后才被执行。

例如,如果页面需要调用一个 JavaScript 函数来处理用户输入,那么应该在 window.onload 事件中调用该函数,以确保它不会在页面还没加载完全时就被执行。

window.onload 在 JavaScript 中表示网页中所有的元素都已经加载完毕了。这个事件是当整个页面及其所有相关资源(图片、CSS、JavaScript 文件等)都已经完全加载和渲染之后才触发的。通常,在页面中需要操作或修改 DOM 元素时,需要等待所有元素加载完成才能执行相应的操作,否则可能会导致操作失败或出现异常。因此,使用

window.onload 事件可以保证在所有元素加载完成后再执行需要进行的操作,确保页面的稳定性和正常运行。

在JavaScript中,window.onload是一个事件处理程序,它在窗口(或者框架)加载完毕后执行。其作用是确保页面完全加载后再执行JavaScript代码,以避免出现页面元素还未完全加载的情况下执行JavaScript导致错误的情况。

window.onload通常用于在页面完全加载后执行某些JavaScript代码,例如操作页面元素、获取页面内容等等。在使用

window.onload时,需要将要执行的代码写在事件处理程序中,确保页面元素已经完全加载并可以被JavaScript访问。需要注意的是,如果在页面中已经定义了其他的

window.onload事件处理程序,它们可能会相互覆盖或者冲突。因此,如果需要在页面中有多个window.onload事件处理程序,可以使用addEventListener()或attachEvent()方法添加多个事件处理程序。

window.onload 是一个事件,用于在窗口和所有资源加载完成后执行 JavaScript 代码。该事件在 DOM 树和所有嵌入式资源(例如图像、样式表和脚本)都已加载完成后触发。

window.onload 通常用于确保页面加载完成后再执行某些 JavaScript 代码,以免在页面还未完全加载时出现错误。例如,您可能需要在加载完成后修改页面元素的样式或内容,或者在加载完成后向服务器发送 AJAX 请求以获取数据。

在 HTML 中,可以使用以下语法来绑定 window.onload 事件:

<body onload="myFunction()"><!-- 页面内容 -->
</body>

或者,也可以使用 JavaScript 来绑定该事件:

window.onload = function() {// 执行一些 JavaScript 代码
};

window.onload是一个JavaScript事件,它在页面上所有元素和资源(如图像和样式表)都加载完成后触发。它的作用是允许开发者在页面完全加载后执行特定的JavaScript代码。这通常用于在页面加载后初始化应用程序或更新页面内容。在某些情况下,预先加载所有资源并等待window.onload事件可能会影响网站或应用程序的性能,可以使用其他技术(例如异步加载脚本或将脚本放置在页面底部)来优化加载时间。

 window.onload是javascript中的一个事件,它会在整个页面的文档内容完全加载完毕后被触发。通常在window.onload函数中执行一些页面加载后的操作,例如显示隐藏元素、DOM操作、加载和显示图像等。  以下是一个示例:

<!DOCTYPE html>
<html><head><title>Window Onload Example</title><script>      window.onload = function() {// 页面加载完毕后执行的操作document.getElementById("myElement").style.display = "block";};</script></head><body><div id="myElement" style="display:none">This element will be displayed after the page has finished loading.</div></body>
</html>

在上面的示例中,当页面加载完毕后,会在页面中找到id为"myElement"的div元素,并将其样式中的display属性设置为"block",从而显示该元素。  需要注意的是,由于window.onload会在文档内容完全加载完毕后触发,因此如果页面中有大量的图像或外部脚本文件需要加载,window.onload函数可能会导致页面的加载性能下降。在这种情况下,可以使用其他事件(如DOMContentLoaded)来优化页面加载的性能。

在上面的示例中,当页面加载完成后,会在页面中显示一个之前隐藏的元素。  注意,由于window.onload会在文档内容完全加载完毕后触发,因此它可能会有延迟,并且可能会阻塞其他异步加载的资源。现在,通常使用DOMContentLoaded事件来替代window.onload,因为该事件在文档的结构就绪后立即触发,允许我们更早地执行页面加载后的操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/178583.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python开源项目CodeFormer——人脸重建(Face Restoration),模糊清晰、划痕修复及黑白上色的实践

无论是自己、家人或是朋友、客户的照片&#xff0c;免不了有些是黑白的、被污损的、模糊的&#xff0c;总想着修复一下。作为一个程序员 或者 程序员的家属&#xff0c;当然都有责任满足他们的需求、实现他们的想法。除了这个&#xff0c;学习了本文的成果&#xff0c;或许你还…

如何高效收集数据?

在当今这个信息爆炸的时代&#xff0c;数据已经成为了一种新的资源&#xff0c;其价值不可估量。收集数据的重要性日益凸显&#xff0c;无论是对于企业、政府还是个人&#xff0c;数据都已经成为了一种宝贵的财富。分享一些网站。 一、宏观数据 1.国家统计局&#xff08;数据…

海外邮件接收延迟、接收不到怎么办?U-Mail邮件网关来了

随着经济全球化的发展&#xff0c;很多国内企业开始踏足海外市场&#xff0c;电子邮件就成为了国内企业与海外客户沟通交流的主要渠道。然而海外邮件接收延迟、接收不到等问题成为了困扰企业与海外客户沟通的一大阻碍&#xff0c;导致客户邮件回复不及时&#xff0c;询盘邮件接…

vue3实现数据大屏内数据向上滚动,鼠标进入停止滚动 vue3+Vue3SeamlessScroll

1.效果图 2.npm下载依赖及main.js文件配置 npm install vue3-seamless-scroll --saveimport vue3SeamlessScroll from vue3-seamless-scroll;app.use(vue3SeamlessScroll) 3.html代码 <!-- scrollFlag为true时再渲染,vue3只要涉及到传值子页面需要加flag判断&#xff0c;否…

Web APIs——综合案例

一、综合案例页面注册 分析业务模块 ①&#xff1a;发送验证码模块 ②&#xff1a;各个表单验证模块 ③&#xff1a;勾选已经阅读同意模块 ④&#xff1a;下一步验证全部模块 只要上面有一个input验证不通过就不同意提交 需求①&#xff1a;发送验证码 用户点击之后…

做决策、定战略、带团队:顶级高手常用的16个思维模型

01 做决策 1.沃伦巴菲特的双目标清单系统&#xff08;Two-List System&#xff09; 弗林特当了巴菲特的私人飞行员十年之久&#xff0c;还曾为美国四任总统开过飞机&#xff0c;但他在事业上依然有更多追求。有一次&#xff0c;他和巴菲特在探讨他的职业生涯目标时&#xff0…

HCIA-经典综合实验(一)

经典综合实验&#xff08;一&#xff09; 实验拓扑配置步骤第一步&#xff1a;配置二层VLAN第二步&#xff1a;配置IP地址第三步&#xff1a;配置DHCP服务第四步&#xff1a;配置路由协议OSPF第五步&#xff1a;配置ACLNATTelnet 配置验证测试PC1能不能telnet登录到R1测试所有P…

【vue实战项目】通用管理系统:api封装、404页

前言 本文为博主的vue实战小项目系列中的第三篇&#xff0c;很适合后端或者才入门的小伙伴看&#xff0c;一个前端项目从0到1的保姆级教学。前面的内容&#xff1a; 【vue实战项目】通用管理系统&#xff1a;登录页-CSDN博客 【vue实战项目】通用管理系统&#xff1a;封装to…

RequestContextHolder详解

最近遇到的问题是在service获取request和response,正常来说在service层是没有request的,然而直接从controlller传过来的话解决方法太粗暴,后来发现了SpringMVC提供的RequestContextHolder遂去分析一番,并借此对SpringMVC的结构深入了解一下,后面会再发文章详细分析源码 1.Reque…

开启核磁数据处理新篇章-MestReNova(MNOVA14)助您轻松解读科学界密码

在科学研究领域&#xff0c;核磁共振&#xff08;NMR&#xff09;技术被广泛应用于分析和解读化学物质的结构和性质。而MestReNova&#xff08;MNOVA14&#xff09;作为一款专业的核磁数据处理软件&#xff0c;凭借其强大的功能和易用性&#xff0c;已成为众多科研人员的首选工…

基于单片机的公交车报站系统(论文+源码)

1系统设计 本次课题为基于单片机的公交车报站系统&#xff0c;在此主要是基于Proteus平台展开设计&#xff0c;因此结合Proteus平台的特性&#xff0c;将功能设计如下&#xff1a; &#xff08;1&#xff09;公交车具有上行和下行两种状态&#xff0c;可以通过按键进行手动播…

spring cloud之服务熔断

四、Hystrix组件(*) - 官网&#xff1a;https://github.com/Netflix/Hystrix - 在分布式环境中&#xff0c;许多服务依赖项不可避免的会失败。Hystrix是一个库&#xff0c;它通过添加延迟容忍和容错逻辑来帮助您控制这些分布式服务之间的交互。Hystrix通过隔离服务之间的访问点…