在此骨干视图中,视图已初始化,但单击带有“.insert-link”类的按钮时,不会触发insertLink事件。是否有一些我缺少与绑定事件有关的事情?非常感谢你的帮助!
MyView.Show = Backbone.View.extend({
events: {
"click .insert-link": "insertLink"
},
initialize: function(options) {
_.bindAll(
this,
"insertLink"
);
},
insertLink: function(e){
console.log("triggered at last!");
}
});
这是DOM的相关部分:
<div id="insert_link">
<a href="#" class='insert-link btn btn-mini' data-landing-page-id="<%= current_user.default_landing_page_id.to_s %>">
Insert Link
</a>
</div>
<script type="text/javascript">
$(function(){
new MyView.Show({
el: $('#insert_link')
});
});
</script>
答案 0 :(得分:0)
您的代码按预期隔离工作(http://jsfiddle.net/7nYhD/1/)
var MyView = {};
MyView.Show = Backbone.View.extend({
events: {
"click .insert-link": "insertLink"
},
initialize: function(options) {
_.bindAll(
this,
"insertLink"
);
},
insertLink: function(e){
console.log("triggered at last!");
}
});
$(function(){
new MyView.Show({
el: $('#insert_link')
});
});
这意味着您的问题更可能出现:脚本以错误的顺序加载,使用旧版本的脚本,或者在您的代码完全访问dom之前执行代码。
检查所有这些内容,如果您仍有问题,也许您提供更多详细信息/代码。