WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

HTML, XHTML, CSS , style, XML, Javascript und mehr, Fragen, Tipps und Anregungen zu diesen Basic Techniken - hier rein !


Forum » HTML, CSS - Hilfe für das Erstellen einer Homepage » Klickevent in Kindfenster » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von sondermuelli
Ori schrieb am 22.01.2005 16:23
Das müsste zumindest im NC und Derivaten klappen:
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8:
var temp = window.open(...);
temp.captureEvents(Event.CLICK);
temp.onclick = geklickt;

function geklickt(ereignis) // event-Objekt wird übergeben
{
 //...
}


Das MSDN hält folgende Möglichkeit für den IE bereit:
1: 
2: 
3: 
4: 
5: 
6:
temp.attachEvent('onclick', geklickt2); // true wenn erfolgreich

function geklickt2 () // keine Parameter
{
 // ...
}


Zwei Funktionen sind doch gar nicht nötig und captureEvents() halte ich für überflüssig, das das sowieso nur der Netscape 4 benötigt.
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14:
function oeffne() {
    temp = window.open(...);
    window.setTimeout('ereignis()', 20); 
     // setTimeout damit das Fenster auch wirklich zur Verfügung steht
}

function ereignis() {
    temp.document.onclick = function(e) {
        var e = e ? e : window.event;  // Damit auch der IE zu seiner event-Variablen kommt
        //ab hier dann die gewünschten Funktionen
    }
}
von Ori
Was heißt, der Inhalt sei dynamisch und könne nicht beeinflusst werden?
Dank DOM alles geändert werden...

Das müsste zumindest im NC und Derivaten klappen:
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8:
var temp = window.open(...);
temp.captureEvents(Event.CLICK);
temp.onclick = geklickt;

function geklickt(ereignis) // event-Objekt wird übergeben
{
 //...
}


Das MSDN hält folgende Möglichkeit für den IE bereit:
1: 
2: 
3: 
4: 
5: 
6:
temp.attachEvent('onclick', geklickt2); // true wenn erfolgreich

function geklickt2 () // keine Parameter
{
 // ...
}


Du solltest vorher die Methoden auf Vorhandensein überprüfen. Evtl gelten die Ereignisse im IE nicht für temp sondern für temp.document. Dann musst Du auch das Ereignis unload behandeln, damit der EventHandler nicht verloren geht, sondern immer wieder neu referenziert wird.

Mehr bei SelfHTML und MSDN .
von dieguito
ich öffne ein neues Fenster.

temp=window.open(...);

ich möchte, das ein Klickevent im KindBody eine Function im Parent auslöst

temp.body.onclick oder so irgendwas

Der Inhalt der KindSeite ist dynamisch und kann nicht beeinflusst werden. Der Eventhandler muss also im Parent aktiv sein...

Habt Ihr da irgendwelche Ideen ?

Nach oben