Я использую библиотеку jQuery captify, чтобы добавить простую ссылку "Редактировать фотографию профиля", когда пользователь наводит курсор на свою фотографию профиля. Текст, который отображается как подпись, является ссылкой, которую я хочу показать в модальном окне fancybox. По какой-то причине captify препятствует привязке ссылки к fancybox и всегда выполняет событие ссылки по умолчанию при попытке загрузки страницы. Это относится к любой ссылке на странице, которую я протестировал, добавив $ ('a'). Click (function () {return false;}); - поэтому кажется, что captify вызывает проблему, когда вы пытаетесь настроить любые другие обработчики событий после вызова captify. У кого-нибудь есть идеи о том, что может быть причиной этого? Или, если это может быть несовместимость с версией jquery, которую я использую (1.4.1) и captify ...
Это HTML-структура, где div # change_pic становится заголовком, наложенным поверх изображения:
<div id = "avatar">
<img src="http://localhost/media/images/silhouette110x110.gif" alt="profile photo" class="captify" rel="change_pic" /> <div id="change_pic">
<a href="http://localhost/image/manage" class="pic_manager">Change your photo</a> </div>
</div>
Javascript выглядит так:
//jquery 1.4.1 already loaded
<script type="text/javascript" src="http://localhost/media/js/fancybox/jquery.fancybox-1.3.1.pack.js"></script>
<script type="text/javascript" src="http://localhost/media/js/fancybox_init.js"></script>
<link rel="stylesheet" type="text/css" href="http://localhost/media/css/captify.css" />
<script type="text/javascript" src="http://localhost/media/js/captify.tiny.js"></script>
<script type = "text/javascript">
$(document).ready(function(){
$('img.captify').captify({
// caption span % of the image
spanWidth: '90%'
});
$("a.pic_manager").fancybox();
});
</script>