简单的Javascript无法正常工作:<div onload =“alert(”hi“);”=“”> </div>

时间:2014-03-03 23:07:16

标签: javascript html

我想在div加载后立即弹出alert()非常简单。不幸的是它不起作用,我无法弄清楚原因。

以下是代码:

<html>
    <head>
        <title>My Site</title>
        <link rel="stylesheet" type="text/css" href="style2.css">
        <script type="text/javascript" src="js/jquery_1.4.2.js"></script>
        <script type="text/javascript" src="js/alertjs.js"></script>
    </head>
    <body>
        <div id="background_logo" onload="pop_alert();">
            <img src="mysiteLogo.png">
        </div>
        <div id="signup">
            <p id="instruction"> Get on board! </br> Enter your email to receive updates:</p>
            <script type="text/javascript" src="js/form-validation.js"></script>

        </div>
    </body>


</html>

JavaScript就是这样:

function pop_alert(){
    alert("This is an alert");
}

6 个答案:

答案 0 :(得分:18)

它不能用于div标记。以下是可以使用的列表:

<body>, <frame>, <frameset>, <iframe>, <img>, <input type="image">, 
<link>, <script>, <style>

答案 1 :(得分:10)

您无法将onload附加到div。尝试将其放入<body>

<body onload="pop_alert();">

答案 2 :(得分:1)

OnLoad用于body or windows而非div等。如果您需要,请使用事件处理程序提醒弹出窗口,例如分配一些ID并使用它来绑定事件。

答案 3 :(得分:1)

您无法在onload上使用div。执行此操作的最佳方法是在script之后添加div元素以运行该函数。

<html>
    <head>
        <title>My Site</title>
        <link rel="stylesheet" type="text/css" href="style2.css">
        <script type="text/javascript" src="js/jquery_1.4.2.js"></script>
        <script type="text/javascript" src="js/alertjs.js"></script>
    </head>
    <body>
        <div id="background_logo">
            <img src="mysiteLogo.png">
        </div>
        <script>
            pop_alert();
        </script>
        <div id="signup">
            <p id="instruction"> Get on board! </br> Enter your email to receive updates:</p>
            <script type="text/javascript" src="js/form-validation.js"></script>

        </div>
    </body>


</html>

请参阅How to add onload event to a div element?

答案 4 :(得分:1)

这是因为onloaddocument(body)事件。

演示: http://jsbin.com/benosofo/1/

  

onload事件只能用于文档(正文)本身,框架,图像和脚本。换句话说,它可以仅附加到身体和/或每个外部资源。 div不是外部资源,它是作为正文的一部分加载的,因此onload事件不适用于那里。

来自:https://stackoverflow.com/a/4057251/2213706

答案 5 :(得分:0)

当浏览器加载了所有内容(包括图像,脚本文件,CSS文件等)时,

onload被触发。

http://www.w3schools.com/jsref/event_onload.asp

我知道差的来源。