Ich habe ein kleines Problem mit Typoskript und Jquery. Und ja, ich benutze Angular2.Typescript und JQuery zusammen
Mein Code sieht wie folgt aus:
Hier bin ich mit JQuery, damit ich es in ts verwenden
let $ = require('/node_modules/jquery/dist/jquery.js');
Auf einem anderen Teil ich bin, die eine Funktion wie diese
public goBack() {
console.log("HUHU");
this.router.navigateByUrl('/dash/' + this.projectId);
}
So weit so gut ... jetzt ist es das Teil, das JQuery verwendet, das nicht funktioniert:
$(document).ready(function() {
$('.modal').modal('show');
});
$(document).keyup(function (e) {
if (e.which == 27 && $('body').hasClass('modal-open')) {
this.goBack();
}
});
$(document).click(function (e) {
if (e.target === $('.modal')[0] && $('body').hasClass('modal-open')) {
this.goBack();
}
});
Was ich hier mache? Ich öffne gerade ein bootstrap Modal (Popup) im ersten Teil mit $('.modal').modal('show');
und das funktioniert sogar. Aber die beiden anderen Teile, Keyup und Klick sogar Handhabung funktionieren auch ABER Ich kann this.goBack()
nicht verwenden. In diesen beiden Teilen möchte ich für die Ereignisse fangen:
- Klicken Sie ESC und Schließen des modalen
- Ein Klick aus dem modalen (graue Zonen unterteilten) es
zu schließen, wie gesagt, die Modal schließt, aber die URL ändert sich nicht, ändert sich durch Aufruf this.goBack()
Und Ideen da draußen?
Vielen Dank im Voraus!
Yadbo
Winkelkomponenten verwalten/Manipulieren nicht DOM Knoten erstrecken. Die Methoden, die Sie in Ihren Komponenten definieren, sind nicht an die DOM-Knoten gebunden. Sie können Ihr Modal in eine eckige Komponente einfügen, sodass Sie es in Ihrer Komponente instanziieren und einige Ereignisrückrufe übergeben können. – Thomas