Wie kann ich den Wert der Variablen "clicked" aktualisieren, nachdem die Funktion "clickListener" ausgeführt wurde? Es ist definitiv ein Problem mit dem Umfang der "angeklickt" Variablen.Variablenwert aus addEventListener abrufen
var clicked = 'no';
focus();
listener = addEventListener('blur', clickListener);
function clickListener(){
if(document.activeElement == document.getElementById('someIframe')){
clicked = 'yes';
console.log(clicked);
}
};
Jedes Mal, wenn ich diese laufe, Konsolenprotokolle „ja“, aber das „outter“ geklickt ist immer noch nicht, ob ich die Variablen überprüft, nach dem Klick passiert.
Hier ist ein JSFiddle meiner Frage: https://jsfiddle.net/6c3nbpk5/4/
- Konsole öffnen
- Hinweis Zustand der DIV "message" ('nicht angeklickt')
- Klicken Sie in der iframe, wo es sagt "klick mich"
- Beachten Sie, dass die Konsole zeigt 'Div Nachricht: Clicked'
- Beachten Sie Variable in Spaß ction sollte aktualisiert werden, um durch die Konsole bestätigt zu werden
- Hinweis Div "Nachricht" weiterhin angezeigt nicht angeklickt.
Ich brauche divMessage zum Aktualisieren auf geklickt. All dies befindet sich jedoch in einer Funktion, die mehrere Iframes verfolgt, sodass ich die Variable nicht an das Fenster anhängen kann.
Ihr "Klick" -Listener ist nicht an das Klickereignis gebunden. Aber wie überprüft man die Variable nach dem Event? – nnnnnn
Versuchen Sie, alle "angeklickt" durch "window.clicked" zu ersetzen und zu sehen, was passiert –
Es ist, weil ich den Klick eines iframe überprüfe.Man kann einem Iframe keinen Klick-Listener zuweisen, stattdessen suche ich nach dem letzten Element im Fokus, bevor die neue Registerkarte nach dem Klicken auf den Iframe geöffnet wird. –