2009-05-20 4 views

ответ

72
$(document).ready(my_function); 

Или

$(document).ready(function() { 
    // Function code here. 
}); 

Или короче, но менее читаемый вариант:

$(my_function); 

Все эти желания вызывать функцию my_function после загрузки DOM.

Для получения более подробной информации см. Документацию ready event.

Связывает функцию, которая будет выполняться всякий раз, когда DOM готов быть проходится и манипулировать.

Edit:

Для имитации щелчка, используйте метод мыши() без аргументов:

$('#button').click(); 

От docs:

Триггеры событие щелчка каждого согласованный элемент. Вызывает все функции , которые были привязаны к этому событию клика , которое должно быть выполнено.

Чтобы поставить все это вместе, следующий код имитирует щелчок, когда заканчивается документ загрузки:

$(function() { 
    $('#button').click(); 
}); 
+0

Последний вариант также может быть использован, как это: $ (функция() {yourCodeHere();}); –

+0

Извините еще одну проблему. У меня есть функция за пределами document.ready, и она вызывается из щелчка (нажав кнопку переключателя) есть ли способ просто вызвать (имитировать) событие click на загрузке тела? –

+0

@Phill, конечно, вы можете использовать $ ('# button'). Click(). Я отредактировал свой ответ. –

0

Что касается вопроса в ваш комментарий:

Предполагаем, что вы ранее связали вашу функцию с событием клика переключателя, добавьте это в свою функцию $(document).ready:

$('#[radioButtonOptionID]').click() 

Без параметра, который имитирует событие click.

+0

Это тоже не сработало, никаких других мыслей? Не могли бы вы проверить код по ссылке выше? Спасибо –

2

Сырая, но делает то, что вы хотите, ломает рамки выполнения:

$(function(){ 
setTimeout(function(){ 
//Code to call 
},1); 
}); 
+6

** Плохой ответ. ** Это хуже, чем сырой. Это может сработать, или это может полностью потерпеть неудачу - и, что еще хуже, успех (или нет) продиктован факторами, полностью за пределами контроля разработчика, и * очень * вероятно, вне понимания пользователя. –

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