Javascript Backbone.js视图
我正在学习Backbone.js。我正在写mvc待办事项清单供学习。 我有这样一个代码:Javascript Backbone.js视图,javascript,jquery,backbone.js,backbone-views,Javascript,Jquery,Backbone.js,Backbone Views,我正在学习Backbone.js。我正在写mvc待办事项清单供学习。 我有这样一个代码: var TaskView = Backbone.View.extend({ el: '#tasks', model: Todo, events: { 'click > li .delete-task' : 'removeTask', 'click > li .complete-task' : 'completeTask' },
var TaskView = Backbone.View.extend({
el: '#tasks',
model: Todo,
events: {
'click > li .delete-task' : 'removeTask',
'click > li .complete-task' : 'completeTask'
},
removeTask : function () {
console.log(this.get('model'));
},
completeTask : function () {
}
});
var TaskView = Backbone.View.extend({
el: '#tasks',
model: Todo,
events: {
'click > li .delete-task' : 'removeTask',
'click > li .complete-task' : 'completeTask'
},
removeTask : function (e) {
console.log($(e.target));
},
completeTask : function () {
}
});
所以,我无法获取。删除任务,当被单击时。
例如,如果我在第三个li中单击.delete任务,我希望获得第三个li。
我怎么能实现呢 我找到了答案。
我应该编写如下代码:
var TaskView = Backbone.View.extend({
el: '#tasks',
model: Todo,
events: {
'click > li .delete-task' : 'removeTask',
'click > li .complete-task' : 'completeTask'
},
removeTask : function () {
console.log(this.get('model'));
},
completeTask : function () {
}
});
var TaskView = Backbone.View.extend({
el: '#tasks',
model: Todo,
events: {
'click > li .delete-task' : 'removeTask',
'click > li .complete-task' : 'completeTask'
},
removeTask : function (e) {
console.log($(e.target));
},
completeTask : function () {
}
});
$(e.target)
是当前元素。您可以使用currentTarget
来完成此操作
TaskView = Backbone.View.extend({
el: '#tasks',
events: {
'click .delete-task' : 'removeTask'
},
removeTask : function (e) {
alert($(e.currentTarget).text())
},
});