¿Es posible activar un script Javascript cuando se representa un elemento de entrada o cualquier otro elemento html? Esta secuencia de comandos debe activarse dentro de la etiqueta html, de modo que podamos pasar 'esto' a la función js.¿Hay un evento de carga para los elementos de entrada?
Respuesta
No, no hay tal evento.
Sin embargo, una etiqueta <script>
colocado directamente después de que el elemento HTML tendría un efecto similar: sería ejecutado directamente después de que el elemento se ha rendido:
<input type="text" id="input123" value="Hello World!">
<script>
alert("Input123 is now ready:"+document.getElementById("input123).value);
</script>
En la mayoría de los casos, sin embargo, lo mejor es utilice el documento load
(o DOMReady
, o jQuery's .ready()
) para iniciar cualquier operación de script. El DOM estará completamente listo entonces.
No, esto no es posible. Sin embargo, puede usar jQuery + $ (document) .ready (function) para modificar cualquier campo de entrada que desee justo después de que la página haya terminado de cargarse.
No. Sin embargo, cualquier script colocado después del marcado del elemento de entrada se ejecutará con el elemento de entrada disponible porque se analiza antes del script. Por lo tanto, si todo esto era en el cuerpo:
<input id="a">
<script>document.getElementById('a');</script>
Eso haría todo el trabajo de todos modos.
No, no lo hay. Simplemente ejecute su código desde el manejador de documentos "listo", o use algo como jQuery para darle una forma de ejecutar el código en "listo" (que es cuando el DOM está completo pero las imágenes pueden no haberse cargado).
Una forma de simular un evento de este tipo es crear un atributo de datos personalizado * (HTML-5 válido) y usarlo como un selector. Luego, en el código principal de JavaScript, puede agregar un selector para cualquier cosa que tenga este atributo específico de datos-XXX y evaluar el código de javascript dentro.
código Ejemplo HTML:
<div data-onload="sampleFunction('param1', 2)"></div>
código Ejemplo Javascript (usando jQuery). También es posible usar DOM normal para encontrar elementos con este atributo.
/* Find any element which has a 'data-onload' function and load that to simulate an onload. */
$('[data-onload]').each(function(){
eval($(this).data('onload'));
});
Esto funciona bien. De hecho, lo uso en producción.
En general, se considera una mala práctica usar eval y se debe evitar siempre que sea posible. Eval puede ser bastante inseguro, ya que ejecutará cualquier código que esté dentro del atributo data-onload. Puede usar una devolución de llamada genérica y simplemente pasar los argumentos a través de 'data-onload' como http: // codepen.io/kevingimbel/pen/0c9366e17a96288ee8a685d6d53a805f –
esto es genial, gracias –
Tengo un elemento de entrada que se agrega dinámicamente al documento y necesita inicializarse.
No es perfecto, pero aquí es una manera de inicializar el widget de la primera vez que se utiliza la entrada:
<input onfocus="initwidget(this)">
- 1. Entrada variable para JMeter ¿Prueba de carga?
- 2. Evento de carga de plantilla para meteor.js
- 3. Los elementos de entrada de estilo CSS
- 4. ¿Hay un evento para cuando los auriculares están desenchufados?
- 5. ¿Cuándo se desencadena un evento de carga de IFRAME?
- 6. Evento de carga SVG llamado demasiado temprano?
- 7. ¿Hay un evento "Todos los niños cargados" en WPF
- 8. ¿Hay alguna manera de atrapar la finalización de un evento de carga de archivos de sonido?
- 9. Elementos de carga diferida con filtrado
- 10. ¿Hay navegadores compatibles con el atributo de formulario en los elementos de entrada?
- 11. expansión de todos los elementos de un NSOutlineView que carga datos desde una fuente de datos
- 12. elementos de fluido de entrada
- 13. ¿Hay un evento OnLoad para las bibliotecas C#?
- 14. jQuery evento en vivo para los elementos DOM añadido
- 15. entrada de texto html Evento de cambio
- 16. ¿Cuándo ocurre un evento de carga de un navegador?
- 17. Evento de entrada de fuego con jQuery
- 18. API de Google Maps API v3: ¿hay un operador de devolución de llamada o evento para un evento setMap()?
- 19. jQuery Elementos de entrada arrastrables
- 20. Evento de carga de widget en Dojo
- 21. ¿Cómo manejar un evento delegado solo para elementos secundarios?
- 22. ¿Hay un evento de instalación en Android?
- 23. ¿Hay un evento de desinstalación JNLP?
- 24. CSS jQuery() para los elementos creados dinámicamente
- 25. ¿Puedo anular jQuery .val() solo para algunos elementos de entrada?
- 26. Secuencia de comandos para habilitar/deshabilitar elementos de entrada?
- 27. Historial de entrada del formulario seleccione evento
- 28. ¿Hay un evento DOM "contenido de texbox cambiado"?
- 29. Carga de varias imágenes con un campo de entrada
- 30. Evento de carga para iFrame no activado en IE
el problema es el id no se conoce a mí cuando se representa el elemento. – imdhmd
¿Cómo sabría en qué entrada ejecutar el código? – Gareth
Gareth, observe cómo seleccioné el elemento con id 'a' en el script de ejemplo. imdad, puede usar otros medios para seleccionar el elemento, como la selección de etiquetas o incluso la selección de clases. –