jquery load事件从未触发过

Kat*_*oak 2 jquery

我试图理解jQuery中的'load'事件,如下所述:http://api.jquery.com/load-event/.到目前为止,我甚至无法触发它!

这是一些示例代码.出现的唯一控制台消息是"DOM READY" - 不是单个加载调用.用.bind('load',..)替换对.load()的调用没有任何区别.

   <!DOCTYPE html>
   <html>
   <head>
          <script src="lib/jquery.min.js"></script>
          <script>
           $(function(){
              console.log("DOM READY");
           });
           $(document).load(function(){
              console.log("Document Loaded");
           });
           $('#foo').load(function(){
              console.log("foo loaded");
           });
           $('#bar img').load(function(){
              console.log('image loaded');
           });
           $('#bar').load(function(){
              console.log('bar loaded');
           });
           </script>
   </head>
   <body>
     <div id="foo">Hellow world</div>
     <div id="bar">
        <img src="pics/pig.png"/>
     </div>
   </body>
   </html>
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Sam*_*son 7

您无法绑定到尚不存在的项目.例如,当您执行以下操作时:

$('#foo').load(function(){
    console.log("foo loaded");
});
Run Code Online (Sandbox Code Playgroud)

#foo项目不存在,因此您无法绑定到其load事件.还要注意文档对.load事件本身的说法:

此事件可以发送到与URL关联的任何元素:图像,脚本,框架,iframe和窗口对象.

你的div元素不会"加载".