Toon posts:

[js]enter-toets negeren

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben aan het knutselen met een editfunctie.
Het volgende probleem treedt op:
Ik vang tbv een functie de enter-toets af met event.keyress, welke wordt getriggerd door een onkeydown-event.
Met behulp van de functie plaats ik een <br>-tag.

Het probleem is dat ik de "enter" niet kwijt raak.

Vraag: hoe maak ik de enter binnen de functie onschadelijk?

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

return false?

  • creative8500
  • Registratie: September 2001
  • Laatst online: 03-01 16:54

creative8500

freedom.

Je bedoelt dat je alleen een <br> laat invoegen een geen nieuwe regel (in een textarea oid)?

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Meestal gebruiken ze daar inderdaad shift-enter voor ofzo, omdat het anders niet zo netjes is.. de enter heeft een specifieke functie voor gebruikers waar je niet mee moet kloten :)

Verwijderd

Topicstarter
Hetgeen cREATiVe8500 schrijft is de bedoeling.

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

olifant:
Hetgeen cREATiVe8500 schrijft is de bedoeling.
imo moet je daar volgens mij idd ook een andere combinatie voor gebruiken, maar anders moet je volgens mij zorgen dat het onkeydown event een return false; voor z'n kiezen krijgt:
code:
1
2
3
4
5
6
7
8
9
function doemaarkijkenoftenteris () {
   is 't een enter?
    voeg een '<br>' in
    return false
   anders
    return true
}

...onkeydown="return doemaarkijkenoftenteris ()"

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Morrar
  • Registratie: Juni 2002
  • Laatst online: 31-08 12:55
Dat gedoe met SHIFT+ENTER voor een <br> in een editable layer vond ik ook rete-irritant... Maar ja, is weer M$-html-genereren he... Ik heb er in mijn editor deze functie voor gemaakt:

//Ergens in je code deze eventhandler opnemen:
EditLayer.onkeydown = EditorkillEnter();

//En dan deze functie om de enter te slopen
function EditorKillEnter()
{ //ff checken of enter is en de shiftkey er niet bij is
if(event.keyCode == 13 && !event.shiftKey)
{ //ff checken of er niet een plaatje geselect is
var TempTR = EditLayer.document.selection.createRange();
if(TempTR.pasteHTML)
TempTR.pasteHTML("<br><wbr>");
return false;
}
else
return true;
}

Waarbij EditLayer een referentie is naar je editable layer. Je kunt die onkeydown er overigens pas onload aanhangen, maar dat had je zelf denk ik ook wel gezien...

Die extra <wbr> tag zorgt ervoor dat de cursor ook een regel naar beneden gaat, dat edit wat natuurlijker. Verder is ie overbodig, tis een soort 'hackje' zullen we maar zeggen :)

Suc6

Verwijderd

Topicstarter
Super, het werkt!!
bedankt.
Pagina: 1