【问题标题】:Javascript calling function - onclick works whereas onload doesn'tJavascript 调用函数 - onclick 有效,而 onload 无效
【发布时间】:2014-06-05 15:20:23
【问题描述】:

我正在尝试在页面加载时显示优惠。

优惠使用onClick 方法有效并显示(这意味着'getOffers.php' 脚本没有任何问题:

<div class="container" onclick="getRequest('<?=$root?>getOffers.php')">

    <div id="offers" class="home-box">
        <h3>Offers</h3>
        <p id="target"></p>
    </div><!-- /#offers -->

</div><!-- /.container -->

每当我尝试时:

<div class="container" onload="getRequest('<?=$root?>getOffers.php')">

它似乎不起作用,谁能告诉我我做错了什么。

【问题讨论】:

    标签: javascript html function onclick onload


    【解决方案1】:

    正如你在https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers.onload 看到的,onload 是一个窗口事件。您不能在 div 上使用它。

    【讨论】:

      【解决方案2】:

      onload 调用放在&lt;body&gt; 元素上,或者将其放在div 下方的&lt;script&gt; 标记中

      <div class="container">
      ...
      </div>
      <script type="text/javascript">
           getRequest('<?=$root?>getOffers.php');
      </script>
      

      【讨论】:

        【解决方案3】:

        &lt;div&gt; 元素不会触发“加载”事件。您可以在&lt;body&gt; 或文档或窗口中等待“加载”事件。

        【讨论】:

          【解决方案4】:
          window.onload = function(){
             // do your stuff...
          }
          

          请注意,如果您覆盖 onload 函数,您将丢失之前的分配。

          【讨论】:

            【解决方案5】:

            尝试调用html正文的onload

            <body onload="getRequest('<?=$root?>getOffers.php')">
            

            onload event 在加载对象时出现。

            onload 最常用于&lt;body&gt; 元素中,用于在网页完全加载所有内容(包括图像、脚本文件、CSS 文件等)后执行脚本。 所以你不能在div上应用它


            http://www.javascriptkit.com/javatutors/event3.shtml

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2012-11-27
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2021-11-24
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多