Динамическое делегирование событий в 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, время: 22:17. |