Toon posts:

[javascript] simuleren key combinatie

Pagina: 1
Acties:

Verwijderd

Topicstarter
ben op zoek naar een manier om een ingedrukt knop te simuleren met javascript. heeft er iemand hier misschien wat ideetjes voor me?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function setText(cmd){

          switch(cmd){
                   
                   case "bold"

                             //hier moet code in komen die java laat denken dat ctrl+b is ingedrukt!

                    break;
            }

enz



}


html:

code:
1
<input type="button" onclick="setText('bold')">


nogmaals, wie heeft wat ideetjes voor me? IS dit wel mogelijk?

[ Voor 8% gewijzigd door Verwijderd op 01-10-2004 16:41 ]


  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 17-08 23:29

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

bedoel je de keycodes :?

[ Voor 23% gewijzigd door Thijsmans op 01-10-2004 16:13 ]

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


Verwijderd

Topicstarter
nee niet echt, ik wil dus dat wanneer ik op bijv, bold button drukt, dat javascript denkt dat ctrl + B is ingedrukt.

code:
1
2
3
4
5
function setText(){

keyCode="66"+"17" //ofzo

}



weet alleen niet hoe ik dat moet doen, iemand een idee?

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 17-08 23:29

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Ik weet niet of dat mogelijk is, de vraag gaat al langer rond, en kan m.i. alleen worden gebruikt voor mallafide praktijken :)

Het is denk ik makkelijker om het effect na te bootsen van de functie die onder deze sneltoets zit (ik gok dat je vette tekst wilt maken?), en dat kan via tal van manieren, waaronder execCommand(command, gui, value) :)

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Je zou een button kunnen simuleren met javascript & css:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<style>

div.button,
div.button-over
{
    width: 100px;
    border: 2px outset #CCCCCC;
    background: buttonface;
    padding: 1px 4px 1px 4px;
}

div.button-over
{
    border: 2px inset #CCCCCC;
    padding: 2px 4px 0px 4px;
}

</style>

<div class="button" 
   onclick="this.className=((this.className=='button')?'button-over':'button');">Bold</div>

Ik weet niet of het ongeveer is wat je bedoelt, maar ik denk dat het wel in de richting komt.

[ Voor 11% gewijzigd door Michali op 01-10-2004 17:55 ]

Noushka's Magnificent Dream | Unity


Verwijderd

Topicstarter
thanks voor je reply,

maar dat is niet wat ik bedoelde. Ik bedoel een keypress simuleren. Dus, dat als ik op een button klikt, dat het gelijk is als bijv. ctrl+b op je toetsenbord. De teksten die ik dan in bijv een texarea intik, horen dan bold te zijn. Kijk naar mijn voorbeeld hierboven. :z

ps: ctrl+b was maar een voorbeeld.

wk

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:50

crisp

Devver

Pixelated

nee, keycodes via JS (javascript != java!) simuleren is niet mogelijk, maar je kan toch gewoon de functie aanroepen die normaal gesproken de tekst bold maakt?

Intentionally left blank


  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 17-08 23:29

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Verwijderd schreef op 01 oktober 2004 @ 18:10:
De teksten die ik dan in bijv een texarea intik, horen dan bold te zijn. Kijk naar mijn voorbeeld hierboven. :z
Riiiight... text-area's kunnen geen stijl aan de input meegeven :) CTRL-B is in IE het beheren van je favorieten :+ Het werkt echter wel in bijv. een div met contentEditable=true.

Zoals ik al zei, en zoals crisp ( O+ ) ook zegt, je moet je niet zo focussen op het nabootsen van die keypress, maar op het daadwerkelijk uitvoeren van de gevolgen. Voorbeeld:

JavaScript:
1
2
range = document.selection.createRange();
range.execCommand('Bold', 0, '');


Dit (niet getest, ben ook niet zo thuis in de ranges) zou de selectie uit het document dik moeten maken. Keypresses zijn niet de manier :)

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


Verwijderd

Topicstarter
yep, execCommand ken ik, maar die kan ik niet gebruiken. Dus gebruik ik nu deze:


code:
1
objectDIV.style.fontWeight="bold";


maar ja, hele div inhoud wordt dan bold ipv wat ik typ. Heb er ook niks aan....... :(


wk

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 13:26
yep, execCommand ken ik, maar die kan ik niet gebruiken.
Waarom niet?

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 17-08 23:29

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

* Thijsmans heeft het gevoel dat je de basiskennis gewoon simpelweg niet hebt 8)7

http://www.mozilla.org/editor/midas-spec.html

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


Verwijderd

Topicstarter
en prammenhanger heeft het mis.....

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 13:26
Verwijderd schreef op 02 oktober 2004 @ 00:09:
en prammenhanger heeft het mis.....
Kan je a.u.b. gewoon een beetje concreet zijn? Waarom zou je execcommand niet kunnen gebruiken?

  • Clay
  • Registratie: Oktober 1999
  • Laatst online: 22-06 13:51

Clay

cookie erbij?

het is niet alsof ctrl-b in een contenteditable/designmode ding iets wezenlijk anders doet dan een gescripte execcommand ofzo. Je wil blijkbaar (onder anderen) dat ctrl-b iets bold maakt, en dat een button dat ook doet. Dan is execCommand je antwoord. Als je dat om een of andere reden niet gebruiken kan is er gewoon niets anders, en heb je dus pech :P

Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin


Verwijderd

Ik ben nu bezig met te kijken of ik execCommand kan vervangen. Ik wil een functie schrijven die werkt met elk html element en niet alleen met P, Hx, B, U en I.
Je kan in ieder geval al wel de Ctrl+B afvangen en een eigen functie aanroepen. Misschien is dat wat je wil?
Pagina: 1