J'essaie de me familiariser avec CoffeeScript et backbone.js, et il me manque quelque chose.Pourquoi mes événements CoffeeScript/backbone.js ne se déclenchent-ils pas?
Ce CoffeeScript:
MyView = Backbone.View.extend
events: {
"click" : "testHandler"
}
testHandler: ->
console.log "click handled"
return false
view = new MyView {el: $('#test_container')}
view.render()
JavaScript génère le suivant:
(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);
Mais l'événement click
ne se déclenche pas testHandler
quand je clique dans test_container
.
Si je change le JavaScript sortie:
$(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;
});
Retrait de la call(this)
et la $
annexant, tout fonctionne comme prévu. Qu'est-ce que je rate?
On dirait que vous utilisez jQuery. Voulez-vous ajouter le tag jQuery? – Angiosperm