Показать сообщение отдельно
  #1 (permalink)  
Старый 09.04.2012, 10:27
Интересующийся
Отправить личное сообщение для Greck Посмотреть профиль Найти все сообщения от Greck
 
Регистрация: 27.07.2011
Сообщений: 27

trigger(): stopPropagation() для произвольного события
Назначаю события:

win = $('window');

win.on('close' function(e) {
   console.log('window close');
   return false; // e.stopPropagation();
});


Функция закрыть окно:

function closeWindow() {
   var removeWindow = function() {
      win.remove();
   }
   win.on('close', removeWindow);
   
   win.trigger('close');
}


Событие, которое непосредственно закрывает окно назначается здесь, в этой функции, что бы продемонстрировать, что оно назначается последним.

Проблема: removeWindow выполняется несмотря на return false и e.stopPropagation().

П. С.
Будет даже лучше, если это будет выглядеть как-то так:

function closeWindow() {
   if (win.trigger('close')) {
      win.remove();
   }
}
Ответить с цитированием