如果jsp页面中include(被包含)被包含的页面中有加载事件,那window.onload事件到底什么时候执行,会执行几次?,分享


(有个疑惑,如果jsp页面中include(被包含)被包含的页面中有window.onload事件,那window.onload事件到底什么时候执行呢?)如果同一个页面(被包含)include多次,那该被包含的页面中的window.onload事件到底什么时候会执行,到底会被执行几次?

大家注意:

(有个疑惑,如果是include(被包含)被包含的页面中有onload事件,那window.onload到底什么时候执行呢? 如果该页面被包含多次,那onload事件到底会执行几次?)

用火狐浏览器调试跟踪一下include(被包含)被包含的页面,跟踪一下include(被包含)被包含的页面是怎么动态变化的,看 看window.onload事件到底什么时候执行呢?) 如果同一个页面include(被包含)多次,那该被包含的页面中的window.onload事件到底会被执行几次?

经过自己用火狐浏览器调试跟踪,测试得出结论,如果该页面include(被包含)多次,onload事件只会执行1次!而且是等整个网页全部都加载完毕 后再执行onload事件,(比如说,把a.jsp包含进index.jsp中,而且是把a.jsp包含进index.jsp中3次,如果a.jsp页面中有onload事件,那 么onload事件只会执行1次,不会执行3次,并且是在整个index.jsp页面都加载完后执行onload事件)。所以在a.jsp这个被包含的页面中写 了onload事件,而你的onload事件中的代码写的是document.getElementById("元素id");那么,等整个index.jsp页 面都加载完后执行onload事件时,就只能获取到第一个a.jsp(被包含进来的页面)页面上的元素,后面的第2次和第3次被包含进来的a.jsp页面上的元素是获 取不到的,因为document.getElementById("元素id");这句话,只能获取到一个元素,a.jsp页面被包含进index.jsp页面中3次, 也就是说index.jsp页面中有3个id一样的元素,那么document.getElementById("元素id");这句话只能获取到一个元素,也就是最前面的那 个元素(即第一个元素),所以也就导致了获取不到后面那2个元素。如果a.jsp页面被包含多次,你想获取到a.jsp(被包含页面)页面上的某个元素,最好是使 用document.getElementsByName("元素name");这样不管a.jsp页面被包含几次,都可以毫无遗漏的获取到你要找的元素,具体可以参 考我写的toDesktop.jsp这个页面(顺便提醒下,Html中,元素的id不要一样,因为id一般都是唯一的,id设置成一样,在Html语法上不会报错,但是很不规范, 所以id不要设置成重复的,name属性可以有重复的!)

testInclude.jsp页面

[html] view plain copy

<%@ page language="java" contentType="text/html; charset=utf-8"  

    pageEncoding="utf-8"%>  

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://—-想了解更多的jsp相关干货教程关注<计算机技术网(www.ctvol.com)!!>

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/jspttutorial/111626.html

(0)
上一篇 2020年5月8日
下一篇 2020年5月8日

精彩推荐