Quiero agregar algo de HTML al final de cada enlace de YouTube para abrir el reproductor en un litebox. Este es mi código hasta ahora:Función que no llama dentro de un evento onclick
$(document).ready(function() {
var valid_url = new RegExp('youtube\.com\/.*v=([a-zA-Z0-9_-]+)');
var image_data = 'base64 encoded image';
init();
function init() {
$('a').each(function() {
if (valid_url.test($(this).attr('href'))) {
$(this).after(' <img src="' + image_data + '" onclick="open_litebox(\'hi\');" />');
}
});
}
function open_litebox(param) {
alert(param);
}
});
Funciona hasta el punto en que inyecta algo de HTML después de que el enlace de youtube, así:
<img src="base 64 data" onclick="open_litebox('hi')">
Pero cuando hago clic en este la función open_litebox()
no lo hace ser llamado. Al buscar en la consola de error, puedo ver un error que dice open_litebox is not defined
, pero lo he definido.
No tengo ni idea de qué está pasando aquí, ¿podría alguien echarnos una mano?
Gracias.
** Mucho ** mejor que ** no ** hacer que la función sea global, y conectarla con un manejo de eventos moderno, no controladores de 'onxyz'-attribute. –