#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>