Toon posts:

[js]Probleem met focus na execCommand()

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een contenteditable iframe met id "foo". Daarboven een knop bold.

Als ik tekst selecteer en daarop druk dan voert hij in een functie het volgende uit:
code:
1
2
3
4
5
6
var pointer = foo.document.selection.createRange();
pointer.execCommand("bold", false, null)
pointer.select();
foo.focus();            
oPopup.hide();
return false;


Werkt op zich prima, hij maakt de geselecteerde tekst mooi bold, alleen plaatst hij de focus niet goed terug. De tekst is nog wel geselecteerd. Ik zou dan pijltje naar rechts moeten kunnen doen en verder kunnen typen. Dat lukt dus niet. Ik moet echt met de muis de cursor weer in het iframe plaatsen. Ik ben er al een tijdje mee aan het kloten. Snap ik iets verkeerd?

[ Voor 7% gewijzigd door Verwijderd op 13-01-2005 09:51 ]


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Kijk eens wat onze crisp ooit heeft toegevoegd aan codebase. Oplossing is natuurlijk de pointer opslaan: http://www.codebase.nl/index.php/command/viewcode/id/189. Wellicht heb je er wat aan.

[ Voor 40% gewijzigd door BtM909 op 12-01-2005 14:38 ]

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

Topicstarter
pointer opslaan? Ik definieer hem toch? Ik definieer, execCommand() en select(). Veranderd daar dan wat aan?

[ Voor 24% gewijzigd door Verwijderd op 12-01-2005 14:43 ]


Verwijderd

Topicstarter
De volgende dag mag je hem weer omhoog schoppen toch? :9 Waar zijn de goeroe's die me op mijn fout kunnen wijzen?

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 19:42
De opmerking dat je de pointer op zou moeten slaan klopt gewoon. Probeer het maar eens.

Verwijderd

Verwijderd schreef op donderdag 13 januari 2005 @ 09:53:
De volgende dag mag je hem weer omhoog schoppen toch? :9 ...knip slijmbal ;)...
Als je even een voorbeeld wil uploaden, dan heb ik een beter overzicht van wat er gebeurt. Uit je post komt wel goed naar voren wát fout gaat, maar het is me niet helemaal duidelijk welk probleem je nou precies hebt. Als je me een linkje geeft, kan ik er beter naar kijken.

Verwijderd

Topicstarter
Jep inderdaad. Hij veranderd dus. Koel. Erg bedankt.

Stukje code voor geïnteresseerden:
code:
1
2
3
4
            var pointer = foo.document.selection.createRange();
            var pointer_store = pointer.duplicate();
            pointer.execCommand(cmd, false, null);
            pointer_store.select();
Pagina: 1