La fonction n'est pas d'appeler dans un événement onclick

Je veux ajouter un peu de HTML à la fin de chaque lien youtube pour ouvrir le lecteur dans une litebox. C'est mon code pour l'instant:

$(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 un peu de HTML après le lien youtube, comme suit:

<img src="base 64 data" onclick="open_litebox('hi')">

Mais quand je clique sur ce le open_litebox() fonction n'est pas appelée. En regardant dans la console d'erreur, je peux voir une erreur qui dit que open_litebox is not defined, mais je l'ai défini.

Je suis assez désemparés quant à ce qui va mal ici, quelqu'un pourrait-il me prêter un coup de main?

Grâce.

InformationsquelleAutor Wen | 2010-11-22