2011-01-13 5 views
3

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

$(function() 
{ 
    // code to be run 
}); 

$(document).ready(function() 
{ 
    $("#button").click(function() 
    { 
     // code to be run 
    }); 
}); 
+0

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

ответ

8
function run(){ 
    //code to run 
} 
$(document).ready(function() 
{ 
    $("#button").click(function() 
    { 
     run() 
    }); 
    run() 
}); 
+0

Это не сработало. Обновление не произошло, когда я нажал на кнопку. :( – Nathan

+0

@atrox, пожалуйста, разместите код, который вы используете для обновления. Уверены ли вы, что у вас есть элемент с идентификатором «кнопка»? Добавьте 'alert (1)' внутри функции 'run()', посмотрите, работает ли это –

+0

Это работает, но не тогда, когда у меня есть свой код $ .post(). – Nathan

2

Определим функцию:

$(function() { 
    var your_code = function() { 
     // code to be run 
    }; 
    $("#button").click(your_code); 
    your_code(); 
}); 

Working Example.

+0

Это все еще обновляется только после того, как я впервые открыл страницу, а не когда Я нажал кнопку. – Nathan

+0

Добавил рабочий jsfiddle для вас. – Stephen

+0

Хмммм, я не понимаю, почему он не работает с $ .post(). Я использовал оповещения, чтобы проверить его, и это сработало отлично. :( – Nathan

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