除非我使用alert(),否则JavaScript无效!

我不时遇到这个问题,我不知道如何解决它。 这是我的代码失败:

function on_lightbox_open() { system.contextBrowserInit(); updateUrl(year + '/' + month + '/' + id); ads.reload(); system.analytics.reload(); FB.XFBML.parse($('#bottom_flap .fb_like').get(0)); // facebook $.ajax({ url: 'http://platform.twitter.com/widgets.js', dataType: 'script', cache: true }); $('#lightbox .close').live('click', function(){ $.modal.close(); }); } 

如果我在开头添加一个警报,如下:

 function on_lightbox_open() { alert('i work now'); system.contextBrowserInit(); updateUrl(year + '/' + month + '/' + id); ads.reload(); system.analytics.reload(); FB.XFBML.parse($('#bottom_flap .fb_like').get(0)); // facebook $.ajax({ url: 'http://platform.twitter.com/widgets.js', dataType: 'script', cache: true }); $('#lightbox .close').live('click', function(){ $.modal.close(); }); } 

它神奇地起作用。 如何在没有恼人的随机警报的情况下使其工作?

也许你使用.live()需要一个完全加载的文档,警报只需要额外的时间购买浏览器。 尝试使用$(document).ready();

来源: jQuery驱动的应用程序。 没有警报会无法工作()

代替:

  

试试这个(HTML doctype):

  

XHTML doctype的正确语法是