您的位置:首页 > 其它

backbone中动态新增的元素节点触发事件的问题有两种解决方法

2016-01-04 13:52 721 查看
ApplicationView = Backbone.View.extend({
template: _.template($("#tpl").html()),
initialize:function(pid){
_.bindAll(this,"addTitle","render","showTitle");
this.i = 0;
this.render();
},
render:function(){
$("#contains").empty();

this.$el.append(this.template());
$("#contains").append(this.$el);

$("#contains").delegate("label","click",this.showTitle);
return this;
},
events:{
"click input:button":"addTitle"/*,
"click label":"showTitle"*/
},
addTitle: function () {
$("#showtext").append("<label>第"+this.i+"次</label>");
this.i++;
},
showTitle:function(e){
var obj =  e.currentTarget;
console.log($(obj).text()+",");
}
});

方法一:使用events

注意events中的元素需要再el中,才能触发

"click label":"showTitle"


方法二:使用delegate juqery的方式 。我用的 jquery 1.11.3版本,不支持live

$("#contains").delegate("label","click",this.showTitle);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: