[js]Smilies invoegen op de cursor in textveld

Pagina: 1
Acties:

  • AW_Bos
  • Registratie: April 2002
  • Laatst online: 01:26

AW_Bos

Nostalgicus 🕰

Topicstarter
Ik wil voor mijn forum iets waarmee ze de smilie invoegen als ze erop klikken dat de smilie bij hun cursor komt te staan in het textvak en niet aan het eind. Hoe los ik dat op en met welke functie?

Ik heb al in de source gekeken en heel veel forums zetten de smilie aan het eind en dat is irri! Ik wet dat dit geval dan wel niet emt alle browsers werkt maar toch.......

"Je kan met alle ziel en zaligheid ergens aan werken, maar soms is de uitkomst een zaal vol zieligheid." - Ariën


  • dominic
  • Registratie: Juli 2000
  • Laatst online: 21-08 19:07

dominic

will code for food

De meeste editors gebruiken inderdaad simpelweg otextVlak.innerText += sSmiley, het is echter prima mogelijk om de locatie van de cursor te achterhalen in een textarea.. Ik ga het je niet vertellen maar kijk maar ff op msdn.microsoft.com of www.dynamicdrive.com..

Hou je er overigens wel rekening mee dat de smiley in een textarea niet echt als afbeelding getoond kan worden? (Tenzij je een browsercheck doet en bij IE5+ clients een SPAN op CONTENTEDITABLE zet..)

Download my music on SoundCloud


  • AW_Bos
  • Registratie: April 2002
  • Laatst online: 01:26

AW_Bos

Nostalgicus 🕰

Topicstarter
dominic schreef op 28 March 2003 @ 10:31:
De meeste editors gebruiken inderdaad simpelweg otextVlak.innerText += sSmiley, het is echter prima mogelijk om de locatie van de cursor te achterhalen in een textarea.. Ik ga het je niet vertellen maar kijk maar ff op msdn.microsoft.com of www.dynamicdrive.com..

Hou je er overigens wel rekening mee dat de smiley in een textarea niet echt als afbeelding getoond kan worden? (Tenzij je een browsercheck doet en bij IE5+ clients een SPAN op CONTENTEDITABLE zet..)
Dat laatste lijkt me echt logisch! :)

"Je kan met alle ziel en zaligheid ergens aan werken, maar soms is de uitkomst een zaal vol zieligheid." - Ariën


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 01:05

crisp

Devver

Pixelated

http://www.codebase.nl/index.php/command/viewcode/id/189
werkt ook in Mozilla; iets soortgelijks wordt ook hier op GoT gebruikt :)

Intentionally left blank


Verwijderd

Het werkt anders nog niet voor Mozilla (1.3) op GoT. :/
Vroeg me nog iets af:
if (target.selectionStart != undefined)
Moet dat niet zijn:
if (target.selectionStart != 'undefined') of misschien nog beter: if (typeof target.selectionStart != 'undefined')

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 01:05

crisp

Devver

Pixelated

Verwijderd schreef op 28 maart 2003 @ 12:48:
Het werkt anders nog niet voor Mozilla (1.3) op GoT. :/
Vroeg me nog iets af:
if (target.selectionStart != undefined)
Moet dat niet zijn:
if (target.selectionStart != 'undefined') of misschien nog beter: if (typeof target.selectionStart != 'undefined')
Werkt binnenkort ook voor GoT in Mozilla ;)

De typeof methode is inderdaad wat netter, maar voor zover ik weet is undefined gewoon een toplevel property, dus is de afvraging op zich niet fout...

Intentionally left blank


Verwijderd

Hmm, je hebt gelijk:
alert(document.selectionStart==undefined); geeft foutmelding in IE(5), Mozilla geeft true.
alert(typeof document.selectionStart=='undefined'); geeft true
alert(document.selectionStart=='undefined'); geeft false
Ik dacht dat, omdat IE de mist inging, het niet mocht. Maar goed, Mozilla kan het wel, dus ligt het aan IE.
Zoeken naar: javascript undefined top level property heeft mij iig weer verder geholpen. :+

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 01:05

crisp

Devver

Pixelated

Verwijderd schreef op 28 maart 2003 @ 13:50:
Hmm, je hebt gelijk:
alert(document.selectionStart==undefined); geeft foutmelding in IE(5), Mozilla geeft true.
alert(typeof document.selectionStart=='undefined'); geeft true
alert(document.selectionStart=='undefined'); geeft false
Ik dacht dat, omdat IE de mist inging, het niet mocht. Maar goed, Mozilla kan het wel, dus ligt het aan IE.
Zoeken naar: javascript undefined top level property heeft mij iig weer verder geholpen. :+
Dat ligt dan aan IE5, want IE5.5 en IE6 geven op alert(document.selectionStart==undefined); gewoon true zoals verwacht.
Probleem is dus dat ik geen directe beschikking meer heb over oudere IE versies zodat ik niet altijd in lagere versies kan testen. De typeof methode is dus wat vriendelijker voor oudere browserversies; ik zal het onthouden :)

Intentionally left blank

Pagina: 1