2010-06-08 4 views
3

У меня есть набор радиообъективов на моей странице. Когда вы выбираете какой-либо из них, я заставляю обратную передачу на сервер.Проверка на загрузку страницы

По умолчанию одна из переключателей при загрузке страницы. Но тогда я не хочу, чтобы эта кнопка по умолчанию запускала мой сценарий jQuery при загрузке первой страницы, поскольку она вызывает ненужную обратную передачу. Как только страница загружается, это нормально, если позже этот переключатель выбран, что он отправляет обратно, а не на загрузку страницы.

Есть ли способ проверить загрузку страницы в jQuery? Я огляделся, но это еще не всплыло в моем поиске.

ответ

2

jQuery использует обратный вызов ready для этого.

$(document).ready(functionToCallHere); 

Это может быть сокращено до этого, тоже:

$(function() { 
    // Anything here will be called on page load. 
}); 

Технически, это срабатывает, как только DOM завершения загрузки, но не дает никакой гарантии, что будет загружаться изображения.

Само устройство также предоставляет событие load/onload (имя которого зависит от того, где вы его установите).

Редактировать: jQuery также имеет событие $(window).load(functionToCallHere), но готово, как правило, то, что вы хотите.

1

<head> в -tag включают такой код:

<script type="text/javascript"> 
    var loading = true; 

</script> 

Теперь вы можете проверить для loading в сценариях.

Установить это ложь, после инициализации кода завершается так:

$(function() { 
    // My init code 
    $("select the radio") 
    .val("my init value"); 
    .change(function() { 
    if (loading) return; 
    $.post( 
     //... 
    ); 
    }); 
    loading = false; 
}); 
0

Что об использовании $ (документ) .ready()? это соответствует вашим потребностям?

Смежные вопросы