Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   trigger(): stopPropagation() для произвольного события (https://javascript.ru/forum/jquery/27312-trigger-stoppropagation-dlya-proizvolnogo-sobytiya.html)

Greck 09.04.2012 10: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();
   }
}


Часовой пояс GMT +3, время: 07:24.