Emberjs - 获取元素的属性点击

时间:2012-02-20 23:38:12

标签: ember.js

问题:点击后,我看到evt.target.attributes存储了数组中的所有属性。是否有一种更简单的方法,而不必迭代所有属性来获得某个属性值?在这个例子中,我需要点击元素的'note'属性的值。

模板:

<a note="C" {{action "play" on="click"}}>></a>

点击处理程序(播放):

var keys = Ember.View.create({
    templateName: 'keys',
    notes: this.get('allKeys'),
    play:function(evt){
        var attributes= evt.target.attributes;
        console.log(attributes);
    }

2 个答案:

答案 0 :(得分:6)

如果控制器没有支持视图,一种解决方案是将事件目标转换为jQuery对象

play : function(event) {
    var note = $(event.target).attr("note");
    // More code here
}

答案 1 :(得分:0)

另一种方法是将属性值作为参数传递给操作。

<a note="C" onClick={{action "play" value="target.note"}}></a>

你可以像这样访问它:

...
actions: {
    play(note) {
        console.log(note);
    },
},
...