JavaScript simple ne fonctionne pas: <div onload = "alert (" Hi ");">

J'essaie d'obtenir un message d' alert() très simple alert() pour apparaître dès que le div entre. Malheureusement, ça ne fonctionne pas, et je ne peux pas comprendre pourquoi.

Voici le code:

 <html> <head> <title>My Site</title> <link rel="stylesheet" type="text/css" href="style2.css"> <script type="text/javascript" src="js/jquery_1.4.2.js"></script> <script type="text/javascript" src="js/alertjs.js"></script> </head> <body> <div id="background_logo" onload="pop_alert();"> <img src="mysiteLogo.png"> </div> <div id="signup"> <p id="instruction"> Get on board! </br> Enter your email to receive updates:</p> <script type="text/javascript" src="js/form-validation.js"></script> </div> </body> </html> 

Et le JavaScript est juste ceci:

 function pop_alert(){ alert("This is an alert"); } 

Vous ne pouvez pas attacher le onload à un div . Essayez de le mettre dans <body> :

 <body onload="pop_alert();"> 

Il ne peut pas être utilisé pour les balises div . Voici la liste suivante sur laquelle il peut être utilisé:

 <body>, <frame>, <frameset>, <iframe>, <img>, <input type="image">, <link>, <script>, <style> 

OnLoad est utilisé sur le body or windows pas le div etc. Si vous voulez, utilisez le gestionnaire d'événements pour alerter le pop-up, par exemple, assignez un identifiant et utilisez celui-ci pour lier l'événement.

C'est parce que onload est un événement de document(body) .

Démo: http://jsbin.com/benosofo/1/

L'événement onload ne peut être utilisé que sur le document (corps), les images, les images et les scripts. En d'autres termes, il peut être attaché uniquement au corps et / ou à chaque ressource externe. Le div n'est pas une ressource externe et il est chargé comme partie du corps, de sorte que l'événement onload ne s'applique pas là-bas.

À partir de: https://stackoverflow.com/a/4057251/2213706

Vous ne pouvez pas utiliser onload sur un div . La meilleure façon de le faire est d'ajouter un élément de script après le div pour exécuter la fonction.

 <html> <head> <title>My Site</title> <link rel="stylesheet" type="text/css" href="style2.css"> <script type="text/javascript" src="js/jquery_1.4.2.js"></script> <script type="text/javascript" src="js/alertjs.js"></script> </head> <body> <div id="background_logo"> <img src="mysiteLogo.png"> </div> <script> pop_alert(); </script> <div id="signup"> <p id="instruction"> Get on board! </br> Enter your email to receive updates:</p> <script type="text/javascript" src="js/form-validation.js"></script> </div> </body> </html> 

Voir Comment ajouter l'événement onload à un élément div?

onload est déclenchée lorsque le navigateur a chargé tout le contenu (y compris les images, les fichiers de script, les fichiers CSS, etc.)

http://www.w3schools.com/jsref/event_onload.asp

Pauvre source que je connais.