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


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

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

    2、fruit.html

    1. html>
    2. <html lang="zh_CN">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
    6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    7. <title>js-DOM/BOM实战title>
    8. <link href="style/fruit.css" rel="stylesheet">link>
    9. <script src="js/鼠标悬浮和离开事件.js">script>
    10. head>
    11. <body>
    12. <div id="div0">
    13. <div id="div_title">欢迎使用水果库存系统div>
    14. <div id="div2">
    15. <table id="fruit_tbl">
    16. <tr>
    17. <th class="w10"><input type="checkbox" />th>
    18. <th class="w20">名称th>
    19. <th class="w20">单价th>
    20. <th class="w20">数量th>
    21. <th class="w20">小计th>
    22. <th class="w10">操作th>
    23. tr>
    24. <tr>
    25. <td><input type="checkbox" />td>
    26. <td>苹果td>
    27. <td>5td>
    28. <td>2td>
    29. <td>10td>
    30. <td><img src='imgs/del.png' class="delBtn"/>td>
    31. tr>
    32. <tr>
    33. <td><input type="checkbox" />td>
    34. <td>菠萝td>
    35. <td>3td>
    36. <td>5td>
    37. <td>15td>
    38. <td><img src='imgs/del.png' class="delBtn"/>td>
    39. tr>
    40. <tr>
    41. <td><input type="checkbox" />td>
    42. <td>哈密瓜td>
    43. <td>4td>
    44. <td>5td>
    45. <td>20td>
    46. <td><img src='imgs/del.png' class="delBtn"/>td>
    47. tr>
    48. <tr>
    49. <td><input type="checkbox" />td>
    50. <td>葡萄td>
    51. <td>10td>
    52. <td>5td>
    53. <td>50td>
    54. <td><img src='imgs/del.png' class="delBtn"/>td>
    55. tr>
    56. <tr>
    57. <td><input type="checkbox" />td>
    58. <td>青梅td>
    59. <td>10td>
    60. <td>5td>
    61. <td>50td>
    62. <td><img src='imgs/del.png' class="delBtn"/>td>
    63. tr>
    64. <tr>
    65. <td><input type="checkbox" />td>
    66. <td>人参果td>
    67. <td>10td>
    68. <td>5td>
    69. <td>50td>
    70. <td><img src='imgs/del.png' class="delBtn"/>td>
    71. tr>
    72. <tr>
    73. <td><input type="checkbox" />td>
    74. <td>菠萝蜜td>td>
    75. <td>10td>
    76. <td>5td>
    77. <td>50td>
    78. <td><img src='imgs/del.png' class="delBtn"/>td>
    79. tr>
    80. <tr>
    81. <td><input type="checkbox" />td>
    82. <td>西红柿td>
    83. <td>10td>
    84. <td>5td>
    85. <td>50td>
    86. <td><img src='imgs/del.png' class="delBtn"/>td>
    87. tr>
    88. table>
    89. div>
    90. div>
    91. body>
    92. html>

    3、fruit.css

    1. *{
    2. color:rgb(3, 31, 2);
    3. font-weight: lighter;
    4. }
    5. body{
    6. padding:0;
    7. margin:0;
    8. background-color: rgb(3, 31, 2);
    9. }
    10. #div0{
    11. width:80%;
    12. border:0px solid red;
    13. background-color: rgb(209, 230, 235);
    14. margin-left:10%;
    15. padding-top:48px;
    16. padding-bottom:48px;
    17. margin-top:8px;
    18. }
    19. #div_title{
    20. width:80%;
    21. margin-left:10%;
    22. text-align: center;
    23. font-size:24px;
    24. letter-spacing: 4px;
    25. margin-bottom:16px;
    26. }
    27. #div2{
    28. margin-left:10%;
    29. border:0px solid red;
    30. width:80%;
    31. }
    32. .delBtn{
    33. width:16px;
    34. height:16px;
    35. }
    36. #fruit_tbl , #fruit_tbl td, #fruit_tbl th {
    37. border:1px solid lightgray;
    38. text-align: center;
    39. }
    40. #fruit_tbl{
    41. width:100%;
    42. line-height: 32px;
    43. border-collapse: collapse;
    44. }
    45. .w10{
    46. width:10%;
    47. }
    48. .w15{
    49. width:15%;
    50. }
    51. .w20{
    52. width:20%;
    53. }

     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 事件:

    1. <body onload="myFunction()">
    2. body>

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

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

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

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

    1. html>
    2. <html>
    3. <head>
    4. <title>Window Onload Exampletitle>
    5. <script> window.onload = function() {
    6. // 页面加载完毕后执行的操作
    7. document.getElementById("myElement").style.display = "block";
    8. };
    9. script>
    10. head>
    11. <body>
    12. <div id="myElement" style="display:none">
    13. This element will be displayed after the page has finished loading.
    14. div>
    15. body>
    16. html>

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

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

  • 相关阅读:
    后疫情时代新加坡网络安全治理的动态与趋势
    【Android入门】7、多媒体:用 NotificationChannel 和 NotificationManager 实现系统通知、播放音频和视频
    面向移动支付过程中网络安全的研究与分析
    使用SPARK进行特征工程
    计算机毕业设计之java+ssm基于web的智能卤菜销售平台
    毕业设计-基于Unity的餐厅经营游戏的设计与开发(附源码、开题报告、论文、答辩PPT、演示视频,带数据库)
    (C++)string类及其函数
    JS实现发布/订阅
    持续性能优化:确保应用保持高性能
    第一百七十五回 如何创建放射形状渐变背景
  • 原文地址:https://blog.csdn.net/m0_65152767/article/details/134426622