Toon posts:

[JS]Enter vervangen bij text editor

Pagina: 1
Acties:

Verwijderd

Topicstarter
Bij mijn richtext editor wil ik graag dat als mensen op enter drukken ze een shift-enter (<BR>) krijgen inplaats van een paragraaf (<p>).

Nou heb ik het volgende scriptje gemaakt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//Enter toets afvangen en een <BR> plaatsen inplaats van <P>
function keyEnter()
{   
    if(window.frames["OpmaakTekst"].event.keyCode==13)
    {
        code = OpmaakTekst.document.body.innerHTML;
        OpmaakTekst.document.body.innerText = code;
        OpmaakTekst.document.execCommand('Paste', true, '<BR>');
        code = OpmaakTekst.document.body.innerText;
        OpmaakTekst.document.body.innerHTML = code;
        OpmaakTekst.document.execCommand('Paste', true, '');

        return false;
    }
}


Dit werkt allemaal goed als je aan het typen bent en op enter drukt.
Maar als je midden in de tekst ergens een enter geeft, dan werkt het niet goed.

Heeft iemand een idee hoe dit goed is af te vangen.

Verwijderd

duurde ook een tijdje voordat ie 't deed bij mij.. dit gebruikt ik nu, werkt prima.
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
    document.onkeydown=function() {
        var key=window.event.keyCode;
        if(key==13) {
            if(!document.getElementById('editframe').focus()) {
                document.getElementById('editframe').focus();
            }
            var tr = document.selection.createRange();
                    tr.pasteHTML("<br>");
                    tr.select();
            return false;
        }
    }

editframe is de div die op contentEditable staat

[ Voor 16% gewijzigd door Verwijderd op 12-05-2003 16:57 ]


Verwijderd

Topicstarter
Ik had de pastHTML over het hoofd gezien |:(

Maar nu werkt het :7 :*)

Dit is het geworden
code:
1
2
3
4
var TempTR = OpmaakTekst.document.selection.createRange();
if(TempTR.pasteHTML)
TempTR.pasteHTML("<br><wbr>");
return false;


Bedankt _/-\o_

Ik ga fluitend naar huis :P

Verwijderd

Maar hoe vang je dan af dat hij dit niet moet doen wanneer je in een execCommand("InsertOrderedList") zit? Want als je deze code dan gebruikt, werkt die list niet meer fatsoenlijk.

  • André
  • Registratie: Maart 2002
  • Laatst online: 19-08 12:30

André

Analytics dude

TempTR.pasteHTML("<br><wbr>");
Dat is een typefout neem ik aan?