Você pode ter vários $ (document) .ready (function () {…}); Seções?

Se eu tiver muitas funções na boot, todas elas devem estar em um único:

$(document).ready(function() { 

ou posso ter várias declarações desse tipo?

Você pode ter vários, mas nem sempre é a melhor coisa a fazer. Tente não abusar deles, pois isso afetará seriamente a legibilidade. Fora isso, é perfeitamente legal. Veja o abaixo:

http://www.learningjquery.com/2006/09/multiple-document-ready

Tente isso:

 $(document).ready(function() { alert('Hello Tom!'); }); $(document).ready(function() { alert('Hello Jeff!'); }); $(document).ready(function() { alert('Hello Dexter!'); }); 

Você verá que é equivalente a isso, observe a ordem de execução:

 $(document).ready(function() { alert('Hello Tom!'); alert('Hello Jeff!'); alert('Hello Dexter!'); }); 

Também é importante notar que uma function definida dentro de um bloco $(document).ready não pode ser chamada de outro bloco $(document).ready , apenas executei este teste:

 $(document).ready(function() { alert('hello1'); function saySomething() { alert('something'); } saySomething(); }); $(document).ready(function() { alert('hello2'); saySomething(); }); 

a saída foi:

 hello1 something hello2 

Você pode usar vários. Mas você também pode usar várias funções dentro de um documento.

 $(document).ready(function() { // Jquery $('.hide').hide(); $('.test').each(function() { $(this).fadeIn(); }); // Reqular JS function test(word) { alert(word); } test('hello!'); }); 

Sim, você pode facilmente ter vários blocos. Apenas tenha cuidado com as dependencies entre eles, pois a ordem de avaliação pode não ser a esperada.

Sim , é possível ter várias chamadas $ (document) .ready (). No entanto, não acho que você saiba de que maneira eles serão executados. (fonte)

Sim, é possível, mas você pode usar melhor um div #mydiv e usar ambos

 $(document).ready(function(){}); //and $("#mydiv").ready(function(){}); 

Sim, é perfeitamente ok.mas evite fazê-lo sem um motivo. Por exemplo, usei-o para declarar separadamente as regras do site global do que as páginas individuais quando meus arquivos javascript foram gerados dinamicamente, mas se você continuar repetindo isso, dificultará a leitura.

Além disso, você não pode acessar alguns methods de outro jQuery(function(){}); ligue, então essa é outra razão pela qual você não quer fazer isso.

Com o antigo window.onload embora você irá replace o antigo toda vez que você especificou uma function.

Sim você pode.

Múltiplas seções prontas de documentos são particularmente úteis se você tiver outros módulos usando a mesma página que os usa. Com a antiga declaração window.onload=func , toda vez que você especificou uma function a ser chamada, ela substituiu a antiga.

Agora todas as funções especificadas são enfileiradas / empilhadas (alguém pode confirmar?), Independentemente de qual seção do documento está especificada.

Eu acho que o melhor caminho a percorrer é colocar switch para funções nomeadas (Verifique este estouro para mais sobre esse assunto) . Dessa forma, você pode chamá-los de um único evento.

Igual a:

 function firstFunction() { console.log("first"); } function secondFunction() { console.log("second"); } function thirdFunction() { console.log("third"); } 

Dessa forma, você pode carregá-los em uma única function pronta.

 jQuery(document).on('ready', function(){ firstFunction(); secondFunction(); thirdFunction(); 

});

Isto irá gerar o seguinte para o seu console.log:

 first second third 

Dessa forma, você pode reutilizar as funções para outros events.

 jQuery(window).on('resize',function(){ secondFunction(); }); 

Verifique este violino para a versão de trabalho

É legal, mas às vezes causa um comportamento indesejado. Como exemplo, usei a biblioteca MagicSuggest e adicionei duas inputs do MagicSuggest em uma página do meu projeto e usei funções prontas para separar documentos para cada boot de inputs. A primeira boot de input funcionou, mas não a segunda e também não deu nenhum erro, a segunda input não apareceu. Então, eu sempre recomendo usar uma function pronta para o documento.

Você pode até aninhar funções prontas do documento dentro dos arquivos html incluídos. Aqui está um exemplo usando jquery:

Arquivo: test_main.html

       

test_main.html

Arquivo: test_embed.html

 

test_embed.html

Saída do console:

 test_main.html READY test_main.html:15 test_embed.html READY (program):4 

Navegador mostra:

test_embed.html

Você também pode fazer da seguinte maneira:

       

This is a test of jQuery!

This is a hidden paragraph.