【问题标题】:Simple Javascript not working: <div onload="alert("Hi");" > [duplicate]简单的 Javascript 不起作用:<div onload="alert("Hi");" > [重复]
【发布时间】:2014-03-04 14:18:53
【问题描述】:

我试图让一个非常简单的alert() 在 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" 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");
}

【问题讨论】:

标签: javascript html


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    您不能将onload 附加到div。试着把它放在&lt;body&gt;:

    <body onload="pop_alert();">
    

    【讨论】:

      【解决方案3】:

      您不能在div 上使用onload。最好的方法是在div 之后添加一个script 元素来运行函数。

      <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】:

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

        【讨论】:

          【解决方案5】:

          那是因为onload 是一个document(body) 事件。

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

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

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

          【讨论】:

            【解决方案6】:

            onload 在浏览器加载完所有内容(包括图片、脚本文件、CSS 文件等)后触发

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

            我知道的来源很差。

            【讨论】:

              猜你喜欢
              • 2012-06-07
              • 1970-01-01
              • 2016-09-11
              • 2021-01-16
              • 1970-01-01
              • 2015-12-10
              • 1970-01-01
              • 1970-01-01
              • 2013-09-04
              相关资源
              最近更新 更多