WYSIWYG => Problem mit Menüs

fanste

Erfahrenes Mitglied
Hallo,
Ja, es geht immernoch um den Editor :)
Habe da jetzt folgendens Problem.

Ich habe mir zu dem Editor nun auch ein paar Menüs dazugemacht. Diese funktionieren auch wunderbar. Was jedoch nicht geht, ist folgendes:

In einem der Menüs kann man z.B. "Einfügen" auswählen. Wenn man da draufklick, soll es mir den Text dort einfügen, wo ich zuletzt mit dem Cursor war. (also bevor ich auf das Menü geklickt habe). Damit er überhaupt irgendetwas in das Feld einträgt, muss ich erstmal wieder das Feld in den Vordergrund holen (focus()). Das macht er auch. Er fügt aber nicht den Text an der Stelle ein, wo ich zuletzt war, sondern am Anfang des Feldes.
Mache ich das gleiche über Bilderchen, funktioniert es 1A. Woran liegt dass?

Hier noch mein Code zum Einfügen:
Code:
function InsertHTML(newhtml)
{
	//Inserts HTML in the selection of the document
	schreibfeld.focus();
	var selpoint=schreibfeld.document.selection.createRange();
	selpoint.pasteHTML(newhtml);
}
Hier benutze ich die Einfügen Funktion noch nicht. Aber das dort geht auch über das Bildechen, aber nicht über das Menü.

Ich hoffe ihr könnt mir dort weiterhelfen.
Danke schonmal für eure Mühe.

mb fanste
 
Sag mal du bist doch lange genug dabei um erstens zu wissen, dass man Beiträge tunlichst nicht pusht und zweitens, dass man hier ab und an gerade am Wochenende Gedult haben muss.

Hast du's mal ohne das focus() veruscht?
 
1. Das sollte eigentlich nicht als pushen gelten (War am auf 3ter Stelle, da ist sowas nicht nötig. Wollte nur damit zeigen, das ich immernoch auf eine Antowrt warte :) )

2.
Wenn ich es so mache
Code:
function test(newhtml)
{
	closemenueall();
	//Inserts HTML in the selection of the document
	var selpoint=schreibfeld.document.selection.createRange();
	selpoint.pasteHTML(newhtml);
}
Fügt er es am Anfang der Seite ein.
Mache ich es so:
Code:
function test(newhtml)
{
	closemenueall();
	//Inserts HTML in the selection of the document
	schreibfeld.document.pasteHTML(newhtml);
}
Macht er garnix.
 
fanste hat gesagt.:
1. Das sollte eigentlich nicht als pushen gelten (War am auf 3ter Stelle, da ist sowas nicht nötig. Wollte nur damit zeigen, das ich immernoch auf eine Antowrt warte :) )
Dafür gibt es ja den "Status: erledigt" Button. Ist das Thema nicht als erledigt markiert würde keiner auf die Idee kommen, das du keine Antwort mehr brauchst.

Egal, versuch's mal ohne focus() und mit schreibfeld.document.execCommand('paste',false,null) oder so ähnlich. Mir fällt jetzt nicht ein der execCommand-Befehl bei einem div mit designmode='on' genau aussehen muss (benutze bei meinem Editor einen iframe), aber du wirst das schon mit den Links, die ich noch mitgepostet habe und ein wenig probieren hinbekommen.
 
Zuletzt bearbeitet:
1. ich verwende ebenfalls einen IFrame.
2. Die Funcion sieht nun so aus:
Code:
function test()
{
	closemenueall();
	schreibfeld.document.execCommand('paste',false,null)
}
Dann fügt er es wieder am Anfang der Seite, also komplett über dem Editor ein.
Wenn ich das closemenueall() noch auskommentiere, wird es in dem Tabellenfeld eingefügt, über das ich das Menü öffne.
 
HEUREKA! ! !
Ich habe das Problem gelöst bekommen. Das Problem dabei war doch, dass immer etwas anderes ausgewählt wurde, wenn man mit dem Cursor drauf ging. Dann ist mir eingefallen, dass ich mal irgendwo etwas von einer Eigenschaft gehört habe, die sich unselectable nennt. Bisschen gegoogelt und siehe da. den Befehl gibt es wirklich.

Lösung: <td onclick="domenue('einfuegen');" unselectable="on">Einfügen</td>
Das gleiche bei den Menüpunkten.
 
Kannst du bitte mal einen Link zu dem ganzen Sourcecode posten.

Edit: Sorry, dein letzer Post war irgentiwe vorher noch nicht obwohl ich da ganze nochmal aktualisiert hatte. Wäre trotzdem nett, wenn du mal das endergebnis hier zeigen könntest...
 
Zuletzt bearbeitet:
Endergebnis wäre zuviel gesagt :).
Aber hier mal ein Link, bei dem man zumindest mal das Anfangstadium etwas betrachten kann. Manche Teile des Codes (vor allem JS) sind noch nicht fertig, steht noch unsin dabei.

http://fanste.fh3.info/wysiwyg/editor.htm

Wo ihr mir noch kurz helfen könntet, wäre ein kleines Prob mit den Select Feldern bei Schriftgröße und -art. Klickt einfach mal auf ein Menü, dann wisst ihr was ich meine.
Bisher ist nur der Menüpunkt Einfügen unter Bearbeiten belegt.
Funktioniert nur im IE. Andere Browser habe ich noch nicht getestet.
 

Neue Beiträge

Zurück