2015-03-15 2 views
0

У меня есть небольшой скрипт, который я хотел бы заполнить при изменении стоимости, при нажатии или при активации некоторых элементов, но я также хочу, чтобы это произошло на загрузке страницы (или когда элементы сначала загружаются).Событие связывания jQuery на загрузке страницы

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

$(document).ready(function() { 
    $('.orderinput, .paymethod, .serverselect').bind('change click keyup', function(event) {} 
}); 

ответ

1

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

$(document).ready(function() { 
    $('.orderinput').on('change click keyup', function(event) { myComplexFunc(event); }); 

    var myComplexFunc = function(event) { 
     console.log('Triggered'); 
    } 

    myComplexFunc(); 

}); 
+0

Вот что я надеялся, что не нужно делать, имея 2 скрипта. Есть ли способ сделать это иначе? – invidious

+0

Когда вы скажете, что это приведет к двум сценариям, что вы имеете в виду? Это не требует, чтобы вы добавили более 4 дополнительных строк кода. –

+0

Он требует, чтобы я дублировал весь код, который у меня есть в функции, который просто добавляет строки. – invidious

1

Вдоль линий Mike L, я хотел бы предложить вам использовать .on вместо .bind, поскольку это является предпочтительным способом для подключения обработчиков событий к документу см this.

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

$(".yourElementClass").click(); //or .change() or .keyup() 
Смежные вопросы