Связывание магистральных событий в jqMobi Nav или когда элементы dom дублируются в dom

Я портировал свое приложение для использования jqMobi и jqUI, но я столкнулся с проблемой с магистральными событиями делегирования.

Способ, которым jqUI создает боковую навигационную панель, очень интересен, если не сказать больше.

Каждая панель может иметь отдельную панель навигации, но панель навигации фактически никогда не видна пользователю, вы заполняете панель навигации, а затем jqUI копирует HTML в div#menu элемент.

Мой взгляд довольно прост

MyApp.Views.UserMenu = Backbone.View.extend({
  el: 'nav#user_menu',

  initialize: function(){
    //empty out and unbind in-case it is already populated
    $(this.el).empty().unbind();

    this.render();
  },

  events: {
    "click div#add_friend": "new_friend"
  },

  render: function(){
    $(this.el).append(HandlebarsTemplates['friends/new_friend']());

    // here I am trying to change the 'el' to point to where the menu is in the DOM
    this.el = 'div#menu';                        
    this.delegateEvents();
    return this;       
  },

  new_friend: function(){
    alert('clicked');
  }
});

Я пытался изменить el к div#menu после заполнения nav, но это не работает. Я также пытался заполнить div#menu напрямую, но это тоже не работает.

Какие-либо предложения? Я предполагаю, что проблема в том, что элементы перемещаются, но это может быть что-то еще, и, возможно, я не уверен, как отладить другой случай.

0 ответов

Другие вопросы по тегам