DOM中body对象

body表示实体的意思,即网页中相关操作的标签都会包含于此对象内.

它有几个事件:

onload:网页加载完毕后触发。

onunload:网页关闭后触发

onbeforeunload:在网页准备关闭(或离开)前触发。

window.event.returnValue:为此属性付一值,一般表示为警告,如提示是否数据没保存什么的,

如下图:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script type="text/javascript">
        function checka() {
            if (confirm("你要关闭吗?"))
                alert("yes");
            else {
                alert("none");
               
            }
      }
    </script>
</head>
<body onbeforeunload="event.returnValue='真的要关闭吗?';">//关闭网页时会提示此信息,也可以调用上面checka()函数
    <form id="form1" runat="server">
    <div>
    
    </div>
    </form>
</body>
</html>

如果我们把js函数放在header中,由于网页加载的顺序是从上到下执行的,有可能在header中要用到某个标签,但下面的内容没有加载,网页会弹出错误提示,这时应该如何办呢?

    我们可以把要用到的函数写到body的onload事件中,即在网页加载完成后会执行此onload事件。

例如我把想把所有input的 onclick事件指定为我们自定义的事件,可以把写一个函数,给每个input标签注册上相关事件。如下:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
     <script type="text/javascript">
         function initEvent() {
             var objs = document.getElementsByTagName("input");
             if (objs)
                 for (var i = 0; i < objs.length; i++)
                     objs[i].onclick = clickme;  //为每个input标签事件注册一个自定义事件
         }


         function clickme() {
             alert("别点我");
         }           
    </script>
</head>
<body onload="initEvent();">
    <form id="form1" runat="server">
    <div>
      <input type="button" />
      <input type="text"/>
      <input type="radio"/>
    </div>
    </form>
</body>
</html>

分别点击button、text和radio,都会调用clickme事件。

原文地址:https://www.cnblogs.com/yagzh2000/p/3088573.html