2009-04-19 16 views
2

Ich habe ein Frameset, wo ich möchte jemand in der Lage, auf eine Schaltfläche in einem Rahmen klicken, die etwas mit dem Text in dem anderen Rahmen ausgewählt hat. Die Schaltfläche in frame [0] ruft das folgende Javascript um den ausgewählten Text aus dem Rahmen zu erhalten [1]:erhalten ausgewählten Text aus einem anderen Rahmen

self.parent.frames[1].getSelection() 

Das Problem, glaube ich, ist, dass der Akt auf der Schaltfläche im Rahmen des Klickens [0] hebt die Auswahl des Textes im Rahmen [1] auf, sodass getSelection eine leere Zeichenfolge zurückgibt. Was kann ich dagegen tun?

Antwort

2

Versuchen Sie, onmousedown statt onclick als Handler für die Schaltfläche zu verwenden. Ich glaube, es wird behandelt, bevor der Fokus auf die Schaltfläche gesetzt wird und die Auswahl verloren geht.

+0

Dies behebt das Problem - danke! –

0

Ihr Problem ist in etwas anderem. Die vorherige Auswahl bleibt lange genug erhalten, um beim Klick aufgezeichnet zu werden. Es kann Ihnen helfen, den Arbeitscode zu sehen, der das tut, was Sie tun möchten.

Ich codiert ein smart quote Plugin für . Es mag kompliziert erscheinen, aber im Grunde tut es das, was Sie wollen: Der Benutzer wählt etwas aus, klickt auf eine Schaltfläche, der Editor reagiert auf einen Klick und führt die Funktion this javascript aus. Der Code verwendet eine FCKEditor-Funktion, um zum Bearbeitungsfenster zu gelangen, aber dieser Teil interessiert Sie nicht.

Fazit, Ihr Plan funktioniert.

Verwandte Themen