Предотвращение закрытия prettyPhoto

#javascript #jquery #prettyphoto

#javascript #jquery #prettyphoto

Вопрос:

созданный мной скрипт использует prettyPhoto для загрузки iframа, на котором есть страница загрузки, загрузка работает отлично, изображение загружается, а URL-адрес возвращается обратно на страницу для предварительного просмотра, но пока не сохраняется в базе данных… пока все хорошо, я просто хочу добавить функцию, которая, если изображение не сохранено, и пользователь нажимает кнопку закрытия, она предложит либо сохранить, либо отклонить, после чего вызовет ajax, чтобы либо удалить загруженное изображение, либо сохранить его URL-адрес в базе данных

у кого-нибудь есть идея, как это сделать? не часть ajax, у меня все под контролем, просто нужно знать, как предотвратить прямое закрытие кнопки закрытия prettyphoto

ps: я попробовал функцию обратного вызова, но то, что она делает, заключается в том, что она закрывается, а затем выполняется, но мне нужно, чтобы выполнение было выполнено перед закрытием

любая помощь будет высоко оценена

Спасибо

Комментарии:

1. в качестве обходного пути я продублировал темы (поскольку я использую два экземпляра prettyPhoto) и отредактировал ту, которая загружает iframe в таблицу стилей, добавив display:block; для класса .pp_close, чтобы кнопка не отображалась, и я заменил ее пользовательской кнопкой внутри iframe для выполненияпроверьте и закройте всплывающее окно с помощью window.parent.$.prettyPhoto.close(); я уверен, что вы все знаете, это было быстрое решение, так как мне это нужно немного срочно, однако любой ответ на первый вопрос всегда приветствуется 🙂

Ответ №1:

вы можете настроить js-код prettyPhoto, но это повлияет на все ваши всплывающие окна, поэтому, поскольку вы нашли обходной путь для функции закрытия внутри iframe, тогда все, вам не нужно было дублировать темы и скрывать кнопку закрытия в таблице стилей its, вы могли бы просто позволить jquery делать это изнутриiframe, просто включите этот код в свой iframe

 <script type="text/javascript">
$(document).ready(function() {
     window.parent.$('.pp_close').css('display', 'none');
});
</script>