Jquery работает при загрузке страницы и при нажатии кнопки - PullRequest
1 голос
/ 14 января 2011

Если кто-то зашел на мою страницу, я хочу запустить jquery, а если он нажмет кнопку на странице, я хочу запустить тот же код jquery. Нужно ли создавать для этого отдельные функции? Тот, который загружается, когда человек приходит на страницу, а затем функция щелчка, когда кто-то нажимает кнопку? Или ради того, чтобы не дублировать код, все это может быть в одной функции?

Ответы [ 3 ]

4 голосов
/ 14 января 2011

Вы можете повторно использовать функцию для:

$(function() {

       // declare the function
    function myReusableFunction() {
           // do something extraordinary
    }

    // call it on page load
    myReusableFunction();

    // assign to handler
    $('button').click( myReusableFunction );
});

Обратите внимание, что значение this и параметр (если есть) будут другими.

Если это проблема, вы можете просто вызвать ее, связав триггер click.

$(function() {

    // assign to handler AND call it
    $('button').click( function() {
           // do something extraordinary
    }).click();
});

РЕДАКТИРОВАТЬ: Если существует более одного button, которому он назначен, .click() сработает для всех из них.

Если это не то, что вам нужно, вы можете изменить его на:

$(function() {

    // assign to handler AND call it
    $('button').click( function() {
           // do something extraordinary
    }).eq(0).click();
});

... чтобы активировать его только на первом.

Или это:

$(function() {

    // assign to handler AND call it
    $('button').click( function() {
           // do something extraordinary
    }).triggerHandler( 'click' );
});

... который стреляет только по первому элементу, но также имеет пару других отличий. См. Документы для triggerHandler для получения дополнительной информации.

1 голос
/ 14 января 2011
$(function() {

    $("#myButton").click(function() {
        //your code
        alert("exeuted"); //on click button alerts
    }).click(); //simulate click to execute onload

});

Онлайн демо здесь: http://jsfiddle.net/nMPMt/

0 голосов
/ 14 января 2011

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

$(function() {
    $('#yourButton').click(function(){
       alert('Yay');
    }).click();

});

Редактировать: вычистил мое объяснение и ужасную грамматику ...

...