Вы можете иметь несколько, но это не всегда самое подходящее. Старайтесь не злоупотреблять ими, так как это серьезно повлияет на читабельность. Кроме этого, это совершенно законно. Смотрите ниже:
http://www.learningjquery.com/2006/09/multiple-document-ready
Попробуйте это:
$(document).ready(function() {
alert('Hello Tom!');
});
$(document).ready(function() {
alert('Hello Jeff!');
});
$(document).ready(function() {
alert('Hello Dexter!');
});
Вы увидите, что это эквивалентно, обратите внимание на порядок выполнения:
$(document).ready(function() {
alert('Hello Tom!');
alert('Hello Jeff!');
alert('Hello Dexter!');
});
Также стоит отметить, что функцию, определенную в одном блоке $(document).ready
, нельзя вызвать из другого блока $(document).ready
, я только что выполнил этот тест:
$(document).ready(function() {
alert('hello1');
function saySomething() {
alert('something');
}
saySomething();
});
$(document).ready(function() {
alert('hello2');
saySomething();
});
вывод был:
hello1
something
hello2