Я хочу добавить некоторый HTML в конец каждой ссылки на YouTube, чтобы открыть плеер в litebox. Это мой код до сих пор:Функция, не вызывающая внутри события 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);
}
});
Он работает до точки, где она впрыскивает некоторый HTML после ссылки YouTube, например, так:
<img src="base 64 data" onclick="open_litebox('hi')">
Но когда я нажимаю эту функцию open_litebox()
не делает получить вызов. Глядя на консоль ошибок, я вижу ошибку, которая говорит open_litebox is not defined
, но я ее определил.
Я довольно не знаю, что здесь происходит, может ли кто-нибудь дать мне руку?
Спасибо.
** Много ** лучше ** не ** сделать функцию глобальной и связать ее с современной обработкой событий, а не обработчиками атрибутов onxyz'. –