다시 렌더링 한 후 제출을 클릭하는 동안 문제가 발생했습니다.backbone.js에서 다시 렌더링 한 후 이벤트가 실행되지 않음
ShareHolderInfoView = Backbone.View.extend({
template : 'shareholderinfo',
initialize: function() {
this.model = new ShareHolderInfoModel();
},
render : function() {
$.get("shareholderinfo.html", function(template) {
var html = $(template);
that.$el.html(html);
});
//context.loadViews.call(this);
return this;
},
events:{
"change input":"inputChanged",
"change select":"selectionChanged",
"click input[type=submit]":"showModel"
},
inputChanged:function(event){
var field = $(event.currentTarget);
var data ={};
data[field.attr('id')] = field.val();
this.model.set(data);
},
showModel:function(){
console.log(this.model.attributes);
alert(JSON.stringify(this.model.toJSON()));
}
});
이 내 라우터
var shareholderInfo, accountOwnerInfo;
App.Router = Backbone.Router.extend({
routes:{
'share':'share',
'joint':'joint'
},
share:function(){
$("#subSection").empty();
if(!shareholderInfo){
shareholderInfo = new ShareHolderInfoView();
$("#subSection").append(shareholderInfo.render().el);
} else{
$("#subSection").append(shareholderInfo.$el);
}
},
joint:function(random){
$("#subSection").empty();
if(!accountOwnerInfo){
accountOwnerInfo = new AccountOwnerInfoView();
$("#subSection").append(accountOwnerInfo.render().el);
} else{
$("#subSection").append(accountOwnerInfo.$el);
}
}
});
이 내 HTML 아이디 = '하위'와 사업부입니다 :
이 내이다.
콘솔을 체크인하면 해당보기에 바인딩 된 이벤트를 볼 수 있습니다.
Object {change input: "inputChanged", change select: "selectionChanged", click input[type=submit]: "showModel"}
하지만 showModel 함수를 호출하지 않으면 전송을 클릭합니다. 도와주세요.
은보기의 엘 안에 제출 버튼입니까? –