我需要在Backbone.js模板文件中创建一个模式对话框(只需单击OK)。在show_template.jst.ejs中,它处于这样的循环中:
<% for(var i = 0... all words %>
<% var word = get the ith word %>
<td><span class="synonyms"><%= I18n.t("Synonyms") %></span></td>
我希望用户能够单击“同义词”(使用她选择的语言),并弹出一个模式对话框,并以她的语言显示数据库中的同义词。
综上所述,我希望同义词可以单击。
有人可以指出我正确的方向吗? (我是一个Javascript / Backbone.js菜鸟)
最佳答案
基本上,我看到两个选项使同义词可点击并知道单击了哪个
一个视图选项-将您的数据放在dom上,并在单击操作时读取它:(请注意data-kind属性)
<% for(var i = 0... all words %>
<% var word = get the ith word %>
<td>
<span class="synonyms" data-kind='<%= I18n.t("Synonyms") %>' >
<%= I18n.t("Synonyms") %>
</span>
</td>
视图的事件部分将如下所示
events: {
"click .synonums" : "synonyms_event"
},
synonyms_event: function(e) {
var kind = $(e.target).data("kind");
alert(kind + " was pressed");
}
另一个选择是为每个单词创建视图,并让它处理click事件