问题:点击后,我看到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);
}
答案 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);
},
},
...