我正在尝试动态添加事件,但事件不会触发。 jQuery不可用。
Backbone Code
var OptimizelyTeacherClick = Backbone.View.extend({
events: {
"click button.start-class-creation" : "optimizelyEvent"
},
optimizelyEvent: function(e){
e.preventDefault();
console.log('Optimizely Event');
alert('Optimizely Event');
}
});
var optimizelyTeacherClick = new OptimizelyTeacherClick({ el: $('.start-class-creation') }).render();
HTML
<form class="start-class-creation-form" action="http://site.dev/classes/online/new?type=online&via=teach&button=page_top" method="post">
<input value="My Class" name="title" class="initialized" type="hidden">
<button type="submit" class="btn submit-btn large primary start-class-creation">Get Started</button>
</form>
答案 0 :(得分:0)
OptimizelyTeacherClick
视图的root el
element是按钮本身。所以事件键字符串应该只是click
。事件绑定在el
。
var OptimizelyTeacherClick = Backbone.View.extend({
events: {
"click": "optimizelyEvent"
},
optimizelyEvent: function(e) {
e.preventDefault();
console.log('Optimizely Event');
}
});
您也可以使用选择器字符串实例化视图,Backbone将使用jQuery获取它。
var optimizelyTeacherClick = new OptimizelyTeacherClick({
el: '.start-class-creation'
}).render();
话虽这么说,我不觉得你在这个设计上走的是正确的方向,但我对你的项目不太了解,无法帮助更多。