我想讓自己熟悉CoffeeScript和backbone.js,並且我必須缺少一些東西。爲什麼我的CoffeeScript/backbone.js事件不能觸發?
這CoffeeScript的:
MyView = Backbone.View.extend
events: {
"click" : "testHandler"
}
testHandler: ->
console.log "click handled"
return false
view = new MyView {el: $('#test_container')}
view.render()
生成以下JavaScript:
(function() {
var MyView, view;
MyView = Backbone.View.extend({
events: {
"click": "testHandler"
},
testHandler: function() {
console.log("click handled");
return false;
}
});
view = new MyView({
el: $('#test_container')
});
view.render;
}).call(this);
但click
不會觸發事件testHandler
當我test_container
點擊。
如果我改變輸出JavaScript來:
$(function() {
var MyView, view;
MyView = Backbone.View.extend({
events: {
"click": "testHandler"
},
testHandler: function() {
console.log("click handled");
return false;
}
});
view = new MyView({
el: $('#test_container')
});
view.render;
});
卸下call(this)
和追加$
,一切正常。我錯過了什麼?
它看起來像你使用jQuery。你想添加jQuery標籤嗎? – Angiosperm 2010-11-05 17:38:53