我搜索了有关此主题的信息,但仅找到有关获取事件元素的信息。是的,我可以得到一个 clicked div 的元素,但为什么它被触发了 19 次呢?(这是总观看次数)。单击事件的信息是相同的 - 单击的 div。
这是 div 的样子:http ://d.pr/i/AbJP
这是console.log:http ://d.pr/i/zncs
这是 index.js 的代码
$(function () {
var Table = new Backbone.Collection;
var TrModel = Backbone.Model.extend({
defaults: {
id: '0',
name: 'defaultName'
},
initialize: function () {
this.view = new Tr({model: this, collection: Table});
this.on('destroy', function () {
this.view.remove();
})
}
});
var Tr = Backbone.View.extend({
el: $('.pop-tags').find('.container'),
template: _.template($('#td_template').html()),
events: {
'click .tag': 'clicked'
},
clicked: function (event) {
event.preventDefault();
event.stopPropagation();
console.log(event.currentTarget);
},
initialize: function () {
this.render();
},
render: function () {
this.$el.append(this.template(this.model.attributes));
return this;
}
});
for (var i = 0, size = 19; i < size; i++) {
var trModel = new TrModel({id: i, name: 'name_' + i});
Table.add(trModel);
}
});
如何避免所有元素触发事件并仅触发一个单击且仅触发 1 次的元素?