В частности, я хочу привязать лайтбокс к определенному элементу.Обычно я просто делаю это: $('a.lightbox').lightBox();, но это не работает, так как я делаю некоторую загрузку с AJAX.Глядя на jQuery API, я обнаружил .bind() и .live(), но ничего не получаю, когда делаю $('a.lightbox').bind('lightBox') после вызова AJAX .load().
$('a.lightbox').lightBox();
.bind()
.live()
$('a.lightbox').bind('lightBox')
.load()
Чего мне не хватает?
Вам нужно добавить функцию обратного вызова, которая обрабатывает это.
$("#div").load(url, {}, function(){ $('a.lightbox').lightBox(); });
Bind не поможет вам, так как событие не получает событие.
Другой способ - привязать элемент выше в доме и проверить тип цели.Например:
$('#div').bind('click', function (event) { target = $(event.target); if (target.hasClass('lightbox')) { // do stuff here } });
Только не заходите слишком далеко, иначе вы поймаете слишком много кликов.