次の HTML テンプレートがあります。
<script type="text/template" id="friend-request-list">
<div class="row-fluid">
<ul class="nav nav-stacked nav-pills">
<@ friendRequestCollection.each(function(user) { @>
<li id="user-list-<@= user.get('username') @>"><a href="#"><@= user.get('firstName') @></a></li>
<@ }); @>
</ul>
</div>
このテンプレートは、次の pendingFriendRequest div に示されています。
<ul class="nav pull-left">
<li>
<div id="pendingFriendRequest" class="notired">${nbFriendRequest}</div><a href="#" class="notifriend"><i class="icon-eye-open icon-white"></i></a>
</li>
</ul>
バックボーン コードは次のとおりです。
app.View.FriendRequestListView = Backbone.View.extend( {
template: _.template($('#friend-request-list').html()),
tagName: 'div',
initialize: function(){
this.friendRequestCollection = new app.Collection.FriendRequestCollection();
this.friendRequestCollection.bind("reset", this.render, this);
this.friendRequestCollection.fetch();
var self = this;
},
render: function() {
$(this.el).html(this.template({
friendRequestCollection: this.friendRequestCollection}));
return $(this.el);
}
});
app.Collection.FriendRequestCollection = Backbone.Collection.extend({
url : function(){
return '/rest/friendRequests';
}
});
しかし、今私が望んでいたのは、リストを非表示にして、リンクをクリックしたときにのみリストがメニューとして表示されるようにすることです。他の場所をクリックした場合、またはカーソルが他の場所に移動した場合は、メニューを非表示にする必要があります。
これは可能ですか?私はバックボーンの初心者なので、これを行う方法がわかりません。