JS externe avec l'Événement onLoad

J'ai un fichier js externe qui a une fonction qui est destiné à être exécuté APRÈS le corps du document est chargé. C'est ce que j'ai jusqu'à présent mais cela ne fonctionne pas comme il le devrait. Un peu d'aide s'il vous plaît.

Fichier JS externe

window.document.body.addEventListener('load', numOfSelects());

function numOfSelects()
{
  var selects = document.getElementsByTagName('select');
  alert(selects.length);
}

Le fichier HTML qui appelle ce script a un peu de sélectionner les champs. L'alerte fonctionne, mais il affiche 0. Et après l'alerte montre alors le corps peut être vu chargé. Évidemment, ce n'est pas ce que je voulais. Ce que je fais mal? Merci les gars.

J'ai aussi essayé ceci:

Ne fonctionne toujours pas. Voici mon code:

Fichier Parent

<html>
<head>
<title>File 1</title>
<script src='file1.js'></script>
</head>

<body>

<select id='dd1'><option>First</option><option>Second</option></select>
<select id='dd2'><option>First</option><option>Second</option></select>

</body>
</html>

FICHIER JS

alert('start');
window.document.body.addEventListener('load', function(){alert(document.getElementsByTagName('select').length)}); 
alert('stop');

seulement la première alerte montre. J'ai l'impression d'avoir fait un vraiment stupide erreur quelque part.

OriginalL'auteur Craig Wayne | 2013-07-01