"Load" - event im "events" - Eigenschaft der Backbone-Sicht

Normalerweise jede Veranstaltung, die ich hören kann für jQuery kann ich auch warten Rückgrat. In anderen Worten, wenn ich:

var MyView = Backbone.View.extend();
var view = new MyView();
view.$el.html('<button>');
var onClick = function() {
    alert('woot!');
};

und ich will trigger onClick wenn die Schaltfläche geklickt wird, ich könnte tun:

$('button').on('click', onClick);

aber, denn ich bin mit Rückgrat würde ich stattdessen tun:

var MyView = Backbone.View.extend({
    events: {click: onClick}
});

Jedoch, dass funktioniert nicht mit dem load event des iframes, also wenn ich habe:

view.$el.html('<iframe src="www.stackoverflow.com"></iframe>');
var onLoad = function() {
    alert('woot!');
};

Ich tun kann:

$('iframe').on('load', onLoad);

aber ich kann das nicht:

events: {load: onLoad}

Meine Frage ist zweiteilig: 1) warum funktioniert das nicht und 2) gibt es eine Möglichkeit, das zu umgehen, aber immer noch verwenden Rückgrat ist events statt raw JQuery?

InformationsquelleAutor machineghost | 2015-08-25
Schreibe einen Kommentar