2010-10-05 3 views
1
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script> 
<script type="text/javascript"> 
    alert('works'); 
</script> 
<script type="text/javascript"> 
    $(window).load(function() { 
     alert('does not work'); 
    }); 
    ​ 
</script> 

Очень странно, я не уверен, почему он не работает.jQuery не работает - странно

+0

Я запустил его на http://www.jsfiddle.net/ и работал нормально !!! – jknair

+1

У меня были некоторые проблемы, связанные с CDN локально – Perpetualcoder

ответ

5

Я думаю, что функция должна быть .ready() и не .load() (это посылает запрос AJAX):

$(window).ready(function() { 

Кроме того, убедитесь, вы понимаете разницу между $(document).ready и $(window).ready. Первый будет запущен, когда DOM будет готов, а второй, когда DOM и все изображения будут готовы.

+0

[load-event] (http://api.jquery.com/load-event/) – Reigel

+0

@Reigel, вы правы. Не знал, что это событие существует. –

0

Вы ищете это:

$(function() { 
    alert("does work"); 
}); 
1

Он должен работать после того, как все изображения, CSS и скрипты загружаются. Есть что-то, что слишком долго загружается?

0

Два варианта для того, что вы пытаетесь достичь:

  1. $(function() { alert('works'); });

  2. $(document).ready(function() { alert('works'); });

Это до вас, какой вы используете. Лично я предпочитаю сокращенный код в варианте 1, но есть преимущество чтения во втором варианте.

0

youe делают window.load, который ждет, когда каждая вещь будет загружена перед выполнением. однако вы должны использовать функцию готовности DOM jQuery.

jQuery(function(){ 
    //do something 
}); 
Смежные вопросы