Динамическое делегирование событий в backbone
Пассаны, есть какой в backbone (backbone-on-rails даже) трюк, что бы при описывании в хеше events, можно было бы туда что то типа
events: 'live click :input': 'updateWidth' засунуть? Ну или какой другой способ навесить динамический обработчик... |
так там и так вроде все события как live обрабатываются, то бишь через всплытие, в чем у вас имено проблема?
|
Смотри, есть сторонний "плагин", в коем имеет место код
$('<a href="#" class="remove">CLOSE</a>').mousedown(function (e) { e.stopPropagation(); }).click(function () { $column = $(this).parent().parent().parent(); count = $column.find(".widget").size(); if(count == 1){ if(confirm('Delete oblast?')){ $(this).parents(settings.widgetSelector).animate({ opacity: 0 },function () { $(this).wrap('<div/>').parent().slideUp(function () { $(this).remove(); }); }); } //asd } И моя въюшка class Sv.Views.AppsApp extends Backbone.View el: 'body' events: 'click .remove: 'deleteWidget' deleteWidget:(event) -> alert('sddsd') При этом, при нажатии на a.remove ни какой реакции не просходит...НО если я раскоммент. //asd (просто вызову ошибку, которая не повлияет на скрипт плагина и лишь будет видна в faerbug) то странным образом событие сработает... |
Udt: вопрос снят) там ниже, в функции клика было return false, что естественно для функций кликов по ссылкам на jQ, но именно это и не давало отработать view'шки моей))
убрал, и заменил ссылку на div)) Хотя фундаментально не понятно почему именно все так было оО |
хм... да возможно, очередь разрывалась, хм... надо будет почитать, как вариант есть событие event.preventDefault(). которое позволяет прервать переход по ссылке и продолжить выполнять код обработчика, попробуй с ним, очередь обработчиков скорей всего не пострадает
|
Часовой пояс GMT +3, время: 01:20. |