2012-11-20 10 views
5

バックボーンスクロールイベントは発生しません。クリックイベントとjquery添付のスクロールが動作します。 http://jsfiddle.net/cX2UV/バックボーンスクロールイベントが起動しない

JS

var TView = Backbone.View.extend({   
    events: { 
     'scroll .content': 'loadMore', 
     'click .code': 'codeClick' 
    }, 

    loadMore: function() { 
     this.$el.append('<p>backbone scrolling</p>'); 
    }, 

    codeClick: function() { 
     this.$el.append('<p>clicking</p>'); 
    } 
}); 

new TView({ el: '.target' }); 

$('.content').scroll(function(){ $('.target').append('jq scrolling...'); }); 

HTML

<div class="target"> 
<div class="content"> 
    <div> 
     <span class="text">text</span> 
     <span class="term">termmm</span> 
     <span class="codes"><span class="code">12345</span></span> 
    </div> 
    <div> 
     <span class="text">text</span> 
     <span class="term">termmm</span> 
     <span class="codes"><span class="code">12345</span></span> 
    </div> 
</div> 
</div> 

body {margin:1em;} 
.content {background:#EEE; height: 200px; overflow: scroll;} 
.code{color:#00c} 

答えて

8

セレクタバックボーンを持つビューにイベントを結合jQueryのdelegate使用してCSS:ここにもフィドルです。 an answer to this questionに記載されているように、scrollイベントdoesn't bubble upであるため、ハンドラは応答できません。