2011-11-04 34 views
0

工作,我有以下JS:獲取eventDelegate與Backbone.js的

SwitcherView = Backbone.View.extend({ 
    events: { 
     'click li' : 'clickLi', 
     'click' : 'click' 
    }, 
    initialize: function(){ 
     this.liEl = this.$('li'); 
     console.log(this.liEl); 
    }, 
    clickLi: function(event){ 
     console.log('click', event); 
    }, 
    click: function(event){ 
     console.log('click', event); 
    } 
}); 

new SwitcherView({el: $('#viewswitcher')}); 

而下面的HTML:

<div id="viewswitcher" class="block block-nav"> 
    <div class="block-title"> 
     <strong><span>Uw kozijn</span></strong> 
    </div> 
    <div class="block-content"> 
     <ul class="items"> 
      <li id="designer-container" class="ui-state-active ui-state-default"> 
       <span class="ui-icon ui-icon-designer"></span> Ontwerper 
      </li> 
      <li id="options-container"> 
       <span class="ui-icon ui-icon-options"></span> Kleuropties 
      </li> 
      <li id="notes-container"> 
       <span class="ui-icon ui-icon-notes"></span> Aantekeningen 
      </li> 
     </ul> 
    </div> 
</div> 

的問題是, 'click' 事件的工作,但我不能得到'點擊'工作。

我正在運行backbone.js 0.5.3,underscore.js 1.2.1和jQuery 1.6.4。

回答

1

當我在jsFiddle, it works just fine中嘗試您的代碼時。

愚蠢的問題:你是否通過點擊第一行項目(Uw kozijn)測試它?因爲如果你是,它不在列表中......它在它自己的DIV中,所以你不會得到這兩個事件。但是,如果你點擊其他任何東西,它都可以按我的預期工作。

+0

感謝您的回覆,不,我點擊列表項。 –

+0

我讓這部分應用程序休息並開始另一部分工作。創造了另一種觀點,但在這裏,同樣的問題......也許有一個普遍的問題,但似乎無法找到它...... –

0

問題是舊的jQuery驗證庫,更新該庫後,一切都按預期工作!