Emulieren Sie einen Link mit Javascript, das mit IE funktioniert
Ich will ein java script klicken auf einen link auf der Seite..hab was gefunden im Netz, schlägt das hinzufügen einer Funktion wie folgt:
function fireEvent(obj,evt){
var fireOnThis = obj;
if( document.createEvent ) {
var evObj = document.createEvent('MouseEvents');
evObj.initEvent( evt, true, false );
fireOnThis.dispatchEvent(evObj);
} else if( document.createEventObject ) {
fireOnThis.fireEvent('on'+evt);
}
}
Dann rufen Sie es mit:
fireEvent(document.getElementById('edit_client_link'),'click');
Dies scheint zu funktionieren für FF, aber mit dem IE funktioniert es nicht!
Irgendwelche Ideen?
InformationsquelleAutor der Frage Tam | 2009-05-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, Sie müssen noch zu nennen Dokument.createEventObject -- Sie nur geprüft ob es da ist. Ungetestete code folgt, aber auf der Grundlage der docs sollte es funktionieren.
InformationsquelleAutor der Antwort
Dies funktionierte nicht für mich auf den ersten und dann sah ich die code fehlt ein parameter für die IE-Anteil. Hier ist ein update, dass sollte funktionieren:
InformationsquelleAutor der Antwort
Versuchen Sie dies, wenn Sie noch immer Fehler (Verwendung von Jquery + prototype)
InformationsquelleAutor der Antwort Disha
Wenn Sie möchten, um zu simulieren, Klicks nur für linkskönnen Sie diese verwenden:
InformationsquelleAutor der Antwort Márton Molnár
Fanden wir einen einfacheren Weg, um zu simulieren, klicken Sie rechts (getestet im IE8). Verwenden Sie einen Doppel-Klick oder zwei einzelne Klicks, dann mit der rechten Maustaste mit Shift-F10. Ich weiß nicht genau, warum das funktioniert, aber es funktioniert. In den folgenden Beispielcode verwenden wir der Selen-Methode zweimal klicken, dann verwenden Sie den IE-Treiber finden, das WebElement und senden Sie die Tastenkombination Shift-F10, emuliert der rechten Maustaste klicken. Wir verwenden diese zu testen GWT-basierten web-apps. Ein Ort, dies hat nicht funktioniert, das war in einer Baumstruktur, wo Sie das Kontext-Menü festgelegt wurde, erscheint am Maus-Koordinaten. Häufig werden die Koordinaten der Maus waren negativ, also rechts-Klick auf den Menüpunkt nicht die Ursache für die untergeordnete Menü-Optionen angezeigt. In diesem Fall behandeln wir noch ein Stück code, um das Steuerelement, so dass wenn die Koordinaten der Maus waren negativ, das Kontextmenü erscheint bei 0,0.
InformationsquelleAutor der Antwort Rich