События укладки jQuery

#jquery #jquery-plugins #fancybox

#jquery #jquery-плагины #fancybox

Вопрос:

Итак, я использую плагин FancyBox для создания редактора записей в базе данных. У меня есть кнопки «Сохранить» и «Отмена», при нажатии на которые, после того как они сделают то, что я хочу, срабатывает кнопка закрытия, чтобы я мог видеть анимацию с: $('#fancybox-close').trigger('click');

Теперь я пытаюсь сделать обратное: когда пользователь нажимает кнопку закрытия fancybox, я хочу запустить некоторый код перед тем, как он будет определен для выполнения, что-то вроде:

 $('#fancybox-close').click(function(){
   //my code here
   //#fancybox-close event here
})
  

как я могу это сделать?

Спасибо

Ответ №1:

Согласно странице API, вы можете просто предоставить onClosed обработчик при определении вашего FancyBox.

Затем эта функция может делать все, что вы пожелаете.

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

1. спасибо, но для меня это всего лишь пример, я хочу знать, как я могу это сделать с помощью jQuery

2. Вообще говоря, если еще не была определена функция для выполнения того, что вы хотите, напишите ее. Затем вызовите его. Если вас не волнует, как конкретно ваши несколько обработчиков событий объединяются в цепочку, просто напишите несколько обработчиков для одного и того же события. JavaScript с радостью выполнит их все.

3. но я хочу, чтобы мои события имели определенный порядок, тот, который я пишу, должен выполняться перед тем, который уже написан

4. Затем напишите свою первую функцию, чтобы ее поведение по умолчанию можно было отменить и вместо него записать новое поведение (и функцию по умолчанию все еще можно вызывать отдельно). API FancyBox, на который вы ссылались, является отличным примером этого. Переопределите, onClosed если хотите, а затем вызовите $.fancybox.close() , если хотите.