2013-11-25 147 views
-1

我有這樣的代碼:訪問對象

<script src="support/jquery-2.0.3.min.js" type="text/javascript" bdHarset="utf-8"></script> 
<script type="text/javascript"> 

$(document).ready(function() { 

    $('body').load('externalFile.html'); 

    $(window).bind("load", function() { 

     $('#targetBtn').click(function() { 
      console.log(
       'click function' 
      ); 
     }); 

    }); 

}); 

</script> 

*#targetBtn是在externalFile.html

對象的「點擊功能」不火,除非我用它回調的內部的負載:

$('body').load('externalFile.html', function() { 
    $('#targetBtn').click(function() { 
     console.log(
      'click function' 
     ); 
    }); 
}); 

,但在我的項目有正在元素必須駐留在$(窗口)的內部.bind爲他們正常工作,這就是爲什麼我希望基本上所有JS內$(窗口).bind清晰...

有沒有辦法從邏輯上解決這個代碼結構,以便它類似於我的第一個例子,仍然有'點擊功能'工作的對象通過負載從外部源拉入?

回答

0

是,通過委派的事件處理程序:

$(document).ready(function() { 
    $(document).on('click', '#targetBtn', function() { 
     console.log('click function'); 
    }); 

    $('body').load('externalFile.html'); 
});