Je souhaite ajouter du code HTML à la fin de chaque lien YouTube pour ouvrir le lecteur dans une litebox. Ceci est mon code à ce jour:Fonction n'appelant pas dans un événement 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);
}
});
Il fonctionne au point où il injecte du code HTML après le lien youtube, comme ceci:
<img src="base 64 data" onclick="open_litebox('hi')">
Mais quand je clique sur cette fonction ne open_litebox()
être appelé. En regardant dans la console d'erreur, je peux voir une erreur qui dit open_litebox is not defined
, mais je l'ai défini. Je n'ai aucune idée de ce qui ne va pas ici, quelqu'un pourrait-il me donner un coup de main?
Merci.
** Beaucoup ** préférable de ne pas ** ** rendre la fonction globale, et de le brancher avec la gestion des événements modernes, pas les gestionnaires d'attributs 'onxyz'. –