Emberjs在特定DOM上单击事件

时间:2014-02-17 15:46:08

标签: jquery events ember.js

由于某些原因,我正在将Emberjs与YUI一起使用,我正在使用dataTable小部件自动生成具有ember存储的表。

在此表中,我希望有一个包含动态链接的列,以重定向到每一行的好页面(如表格中每个项目的详细信息页面)。

所以我不能真正使用{{#link-to}} {{action}}帮助器,因为它是在js端生成的。

所以我想在ember中创建一个并在我的视图中捕捉事件。

我发现了这个:

App.Items = Ember.View.extend({
    click: function( event ) {
        var id = $(event.target).attr("value");
        this.get('controller').send('clickBtn', event, id);
    }
});

我的按钮:

<button id="view-btn" value="{value}">View</button>

但问题就像它在我的页面上收听每一个事件......有点烦人,因为我只需要一个按钮..

ember是否可以仅通过此按钮捕获事件?

谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

经过一番研究后,我设法找到另一种方法:

App.itemsView = Ember.View.extend({
    didInsertElement: function() {
        console.log("didInsertElement done");
        this.$().on('click', '.view-btn', function(){
            var id = $(this).attr('data-value');
            console.log(id);
            //this.get('controller').send('clickBtn', event, id);
        });
    }
});

我的按钮:

<button class="view-btn" data-value="{value}" data-action="open-enquiry">View</button>