Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript body onload和window.onload同时加载_Javascript_Onload_Onload Event - Fatal编程技术网

Javascript body onload和window.onload同时加载

Javascript body onload和window.onload同时加载,javascript,onload,onload-event,Javascript,Onload,Onload Event,我可以同时使用body onload和window.onload吗?我用这个代码试过了 <body onload = "alertFirst()"> </body> <script> window.onload = alertSec; </script> 但它不起作用。我只需要有人给我确认一下。非常感谢您可以通过添加事件处理程序来实现,但不应同时使用这两种处理程序 而是将调用添加到window.onload: <html> &

我可以同时使用body onload和window.onload吗?我用这个代码试过了

<body onload = "alertFirst()">
</body>
<script>
    window.onload = alertSec;
</script>

但它不起作用。我只需要有人给我确认一下。非常感谢

您可以通过添加事件处理程序来实现,但不应同时使用这两种处理程序

而是将调用添加到window.onload:

<html>
<head>
<script>
  window.onload = function() {
    alertFirst();
    alertSec();
  }
</script>
</head>

<body>
</body>

您可以通过添加事件处理程序来实现,但不应同时具有这两个处理程序

而是将调用添加到window.onload:

<html>
<head>
<script>
  window.onload = function() {
    alertFirst();
    alertSec();
  }
</script>
</head>

<body>
</body>

如果要使用的一个或多个脚本的BODY HTML标记中包含事件处理程序,则仍然可以将其移动到javascript代码中。请参见下面的示例:

脚本1:

<script language="javascript">

function start(){
...code for script #1...
}

</script>

<body onload="start()">
脚本2:

<script language="javascript">

function init(){
...code for script #2...
}

window.onload=init;

</script>
结果:

<script language="javascript">

function start(){
...code for script #1...
}

function init(){
...code for script #2...
}

window.onload=function(){
start();
init();
}

</script>

<body>

我认为它可能会对您有所帮助。

如果您想要使用的一个或多个脚本的BODY HTML标记中有事件处理程序,您仍然可以将其移动到javascript代码中。请参见下面的示例:

脚本1:

<script language="javascript">

function start(){
...code for script #1...
}

</script>

<body onload="start()">
脚本2:

<script language="javascript">

function init(){
...code for script #2...
}

window.onload=init;

</script>
结果:

<script language="javascript">

function start(){
...code for script #1...
}

function init(){
...code for script #2...
}

window.onload=function(){
start();
init();
}

</script>

<body>

我想这可能会对你有所帮助。

你的问题的答案是否定的。不过,有办法解决这个问题

将两个调用都添加到一个onload函数是理想的,但是如果您/必须/必须在已经添加一个onload处理程序之后添加一个onload处理程序,并且您没有使用一个框架来实现这一点,那么您可以这样做:

<html>
    <head>
        <script type="text/javascript">
            function alertFirst(){
                alert('First');
            }
            function alertSec(){
                alert('Second');
            }
        </script>
    </head>
    <body onload="alertFirst();">
        content
    </body>
    <script>
        var func = document.body.onload;
        window.onload=function(){
            func();
            alertSec();
        }
    </script>
</html>

你的问题的答案是否定的。然而,有办法解决这个问题

将两个调用都添加到一个onload函数是理想的,但是如果您/必须/必须在已经添加一个onload处理程序之后添加一个onload处理程序,并且您没有使用一个框架来实现这一点,那么您可以这样做:

<html>
    <head>
        <script type="text/javascript">
            function alertFirst(){
                alert('First');
            }
            function alertSec(){
                alert('Second');
            }
        </script>
    </head>
    <body onload="alertFirst();">
        content
    </body>
    <script>
        var func = document.body.onload;
        window.onload=function(){
            func();
            alertSec();
        }
    </script>
</html>
不,document.body.onload实际上映射到window.onload。您可以在有和要console.logwindow.onload时检查自己,a将打印到控制台中

您可以做的是让一个onload事件处理程序调用另外两个函数

window.onload = function () {
  a();
  b();
};
或两个事件侦听器

window.addEventListener('load', a, false);
window.addEventListener('load', b, false);
不,document.body.onload实际上映射到window.onload。您可以在有和要console.logwindow.onload时检查自己,a将打印到控制台中

您可以做的是让一个onload事件处理程序调用另外两个函数

window.onload = function () {
  a();
  b();
};
或两个事件侦听器

window.addEventListener('load', a, false);
window.addEventListener('load', b, false);