没有alert()的jQuery load()回调失败

时间:2017-03-14 22:25:03

标签: javascript jquery html jquery-callback

我将网站上其他网页的html片段加载到内容div中。在加载回调中,我加载JS对新内容的唯一性。

alert()之后的$.getScript,一切正常。如果没有alert(),则setup()不会运行。

  1. 我试图等待setTimeout/clearTimeout
  2. 我已尝试再次致电$(document).ready
  3. 我尝试过嵌入新的JS(没有getScript)。
  4. 没有快乐。简化示例如下:

       <html>
        <head><!-- load jQuery, stylesheets, etc.--> </head>
        <body>
    
        <div id="menupanel">
            <!-- menu clicks call jQuery: $('#content').ajaxLoad( myURL ). -->
        </div>
    
        <div id="content">
            <!-- Content is inserted here by menu clicks.-->
        </div> 
    
        <script type="text/javascript">
        $( function(){
    
            //Function to load a fragment from another page into this page.
            function ajaxLoad(url,parms){
              var url= url + ' #remoteContent';
              $("#content").load( url, parms, callback(sometext) );
            }
    
          function callback(sometext) {
            //unbind all events on the #content div. 
            $('#content').off();  
    
            //run scripts specific to newly loaded page
            //and bind new events to elements on the new page.
            $.getScript('getTest.js',function(){    
              alert('bingo');   //setup() won't run w/o this alert.  
              setup();   
            });
          } 
          //handle menu clicks.
          $("#menu a").click(function(e){
             //etc...
          });
    
        })  //document ready
    
        </script>
    
        </body>
        </html>
    

    getTest.js

    中的示例代码
        function setup(){
          var myCount= $("#content").find(".subhead_title").length;
    
          $("#content #remoteContent #lotPage #lotText").find(".subhead_title").css('color','green');
    
          console.log('count of subhead titles: '+myCount); 
        }
    

0 个答案:

没有答案