我需要在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事件

07-24 19:03