Ich habe den folgenden Code in einer JS-Datei:Warum funktioniert diese Schließung nicht?
ElegirRegion = function() {
var pagina = $('#pagina').val();
carousel.setPaginaActual(pagina);
var x1 = $('#x1').val();
var y1 = $('#y1').val();
var x2 = $('#x2').val();
var y2 = $('#y2').val();
this.SeleccionInicial = function() {
if (!(x1 == 0 && x2 == 0 && y1 == 0 && y2 == 0)) {
var ias = $('img.imagen').eq(pagina).imgAreaSelect({ instance: true });
ias.setSelection(x1, y1, x2, y2);
ias.setOptions({ show: true });
ias.update();
}
}
//more stuff
}
$(document).ready(ElegirRegion);
Und in der HTML-Datei Code, der die SeleccionInicial
Funktion aufruft:
$(window).load(function(){
ElegirRegion.SeleccionInicial();
});
aber wenn ich versuche, SeleccionInicial
zu nennen, ich Get ein SeleccionInicial ist kein Funktionsfehler! Warum ist SeleccionInicial
ein Verschluss?
'this' ist nicht das, was Sie denken, es ist. – SLaks
Sie möchten eine Instanz mit 'new ElegirRegion()' erstellen, andernfalls bezieht sich 'this' auf das globale Fenster und nicht auf'ElegrRegion'. –
http://www.adeatelygood.com/JavaScript-Module-Pattern-In-Depth.html – Hogan