spec javascript html jsp

spec - Javascript onload en HTML



get value label javascript (6)

"onLoad" se puede usar en body-y frameset-tags. Para ver alguna acción, puede usar:

<body onload="function(){alert(''This is an action!'')}">

Quiero hacer una pregunta sobre la carga del Javascript.

Estoy escribiendo una página JSP con el código <%@ include file ="body.jsp" . El body.jsp incluido contiene:

<table onload="function()">

Esto debería cargar la función javascript, pero no parece tener ningún efecto en la página. ¿La onload solo se puede usar en la etiqueta body ?


¿Por qué no simplemente incluirlo a través de una <script tag> ?

Dentro de tu archivo .jsp

<script> window.onload = function() { alert("Hello!"); } // or to execute some function window.onload = myFunction; //notice no parenthesis </script>


Como los otros muchachos ya dijeron que el evento onLoad no se disparará en una mesa. Lo que puede hacer es conectar el controlador onLoad al elemento del cuerpo (que luego se disparará, cuando se cargue la página) y manipular la tabla, por ejemplo, asignando un ID a la tabla.

<body onload="function() { var table = document.getElementById("table-id"); ... }"> <table id="table-id"></table> </body>

¿Estás usando algún framework de JavaScript?


La forma más fácil que encuentro es utilizar un archivo javascript externo y jquery.

// Variables and functions you want to declare var socket = io.connect(); // ..... // Function you want to run on load $(function() { $(''#submit'').click(function() {addUser();}); // ... any other functions you want to run on load });

Este es un fragmento de código de algo en lo que estaba trabajando. La variable se declara antes de que se ejecute el código (crea un socket web). Luego está el selector de documentos jquery ( $ ) que se ejecuta con carga y llama a la función init para modificar mi html. Lo uso para llamar a una función anónima que se ejecuta de inmediato.


Onload solo se puede usar para las etiquetas <body> , <img> , <script> , <iframe> , porque le indica cuándo se ha cargado un recurso externo (imagen, secuencia de comandos, fotograma) o toda la página (cuerpo)

Desde HTML5, estos también pueden activar un evento de carga : <link> , <style> , <input type=image> , <object>
Sin embargo, la compatibilidad con estos puede ser un acierto o una falla ( por ejemplo, navegadores Android más antiguos )


Puede lanzar una etiqueta <script> justo después de su tabla con el código. Una vez que llega a la etiqueta del script, significa que el DOM para el elemento de tabla que se encuentra arriba se ha cargado y ahora se puede acceder a él en su secuencia de comandos debajo de él.

Nota : La siguiente información no es aplicable a la pregunta, sino más bien a las otras respuestas.

Recomiendo usar la función addEventListener en javascript para agregar el evento. Esto garantiza que no sobrescriba o que alguien más lo sobrescriba que quiera escuchar el evento.

Ejemplo

var iframe = document.getElementsByTagName(''iframe'')[0]; iframe.addEventListener(''load'', function(event){ console.log("iframe Loaded", event); })