1

我需要在 Backbone.js 模板文件中创建一个模式对话框(只需单击确定)。它在这样的循环中,在 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 菜鸟)

4

1 回答 1

0

基本上我看到了两个选项可以让同义词可点击并知道哪个被点击了

一个视图选项- 将您的数据放在 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");
}

另一种选择是为每个单词创建视图并让它处理点击事件

于 2012-12-15T09:54:23.830 回答