Avatar billede tuctoh Nybegynder
08. juni 2003 - 18:57 Der er 19 kommentarer og
2 løsninger

Få javascript til at emulere tryk på venstre-tast

Jeg leder efter en eller anden javascript funktion (IE5.5+ kombatibel) som gør det samme som hvis jeg havde klikket på pilen to højre (på keyboardet)!?

Det skal bruges til at flytte markøren i et tekst-felt en gang til højre...

Nogen der kan hjælpe??
Avatar billede roenving Novice
08. juni 2003 - 19:08 #1
Den har kode 38 i onkeydown og onkeyup ...
Avatar billede tuctoh Nybegynder
08. juni 2003 - 19:09 #2
nej roen, det skal gå den anden vej; når en javascript funktion bliver kaldt, skal den kunne gøre det samme som hvis brugeren klikkede på pilen til højre.

Den skal simulere et key-press
Avatar billede tuctoh Nybegynder
08. juni 2003 - 19:13 #3
*i skal ikke tage jer af at jeg skrev forkert i titelen; det er pilen til højre jeg skal simulere*
Avatar billede roenving Novice
08. juni 2003 - 19:25 #4
Kender ikke sådan en metode til at sende beskeder til events ...

-- men undskyld, jeg ikke checkede efter koden, jeg troede jeg kunne huske det fra i forgårs: 37 = venstre, 38 = op, 39 = højre og 40 = ned

-- og så fandt jeg lige createEventObject og fireEvent ...

kigger lige lidt nærmere efter
Avatar billede tuctoh Nybegynder
08. juni 2003 - 19:28 #5
hvis du kan komme med et lidt mere præcist eksempel på en funktion der gør det, er der 60 points til dig i stedet :)

tak indtil videre.
Avatar billede roenving Novice
08. juni 2003 - 19:48 #6
Jeg kunne kun finde referencer til M$'s Behavior-koncept, lidt kode er der med, men det her ser ikke ud til at dække, hvad du vil have, men noget af ideen er da afsløret:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/letmthcreateEO.asp

Denne her er mere grundig, men den har jeg ikke læst, så jeg kan ikke sige om den indeholder til strækkeligt til, at du kan bruge den:
http://msdn.microsoft.com/msdnmag/issues/01/01/cutting/

-- god læselyst !-)
Avatar billede tuctoh Nybegynder
08. juni 2003 - 22:27 #7
Jeg tror ikke umidelbart at de artikler viser helt hvad jeg leder efter... jeg ved ikke engang om det er muligt :(

Jeg har en form for tekstfelt, og vil når en bestemt funktion køres, have curseren til at rykke én tak til højre.
Er der en måde at gøre dette på ellers? Jeg ved ikke om du kan få et script til at "trykke" på pilen :s
Avatar billede roenving Novice
08. juni 2003 - 23:35 #8
-- mit umiddelbare gæt er, at det vil være meget svært at gøre, men caretPosition er vel så det du leder efter ...

Jeg er ikke mere oplyst om textranges end jeg er omkring behaviors -- men hvis du går igang med søgefunktionen på msdn burde du hurtigt være adskilligt mere vidende end jeg er !-)
Avatar billede tuctoh Nybegynder
09. juni 2003 - 11:14 #9
:(
Jeg kan ikke umidelbart finde noget.

Men smid et svar, så kan du da få et par points for besværet.
Avatar billede roenving Novice
09. juni 2003 - 13:46 #10
-- jeg har set noget om det herinde, men det kan være det er mere udbredt inden for VB(script) -- muligvis kan du finde god inspiration der !-)

;-|
Avatar billede roenving Novice
09. juni 2003 - 14:23 #11
-- jamen jeg takker for points -- og håber du finder noget fornuftigt ;~}
Avatar billede roenving Novice
09. juni 2003 - 14:29 #12
Prøv at kigge på denne her:
http://www.eksperten.dk/spm/111949
Avatar billede tuctoh Nybegynder
09. juni 2003 - 14:53 #13
Det hjalp da en del på det :D

Jeg kan få curseren til at rykke derhen hvor jeg vil... Men for at få den til at rykke netop én, skal jeg vide hvad udgangspunktet er; hvordan finder jeg ud af hvor curseren er placeret netop nu i tekstfeltet?
Jeg mener at have set dette før, men har ingen anelse om hvor jeg skal starte med at lede :S

Hvis du kan hjælpe mig med det også, får du de næste 30 points :)

Tak!
Avatar billede roenving Novice
09. juni 2003 - 15:07 #14
Virkede den der ikke: r.move("character",10); // Flyt 10 tegn
Avatar billede roenving Novice
09. juni 2003 - 15:08 #15
altså hele den kode danNim havde til sidst, kan vel ændres til een:

var range = inputID.createTextRange(); // Lav textrange
range.move("character",1); // Flyt 1 tegn
range.select(); // Flyt cursor
Avatar billede tuctoh Nybegynder
09. juni 2003 - 15:13 #16
nej, den rykker bare til tegn 10; den rykker ikke 10 tegn frem!
Avatar billede roenving Novice
09. juni 2003 - 15:32 #17
Hmmm ... jeg kunne huske noget om get/setCaretPosition og fandt det da også på msdn, men det hører til TextComponent-klassen i java.awt -- måske kan du bruge det (tror det ikke ,-|

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vjref98/html/java.awt.TextComponent001.asp

-- kan du måske selv vedligeholde en pointer i en global variabel ?-)
Avatar billede tuctoh Nybegynder
09. juni 2003 - 15:37 #18
Har prøvet det ovenstående links.... den giver et undefined resultat :( Tror ikke den dur i javascript.
Jeg har ikke mulighed for at tælle mig frem til positionen af curseren... for mange funktioner ændrer den konstant.

Jeg vil prøve at oprette en ny tråd, så flere personer ser spørgsmålet :)
tak indtil nu.
Avatar billede roenving Novice
09. juni 2003 - 15:46 #19
Det lyder som en god ide -- har du prøvet at lave en søgning her og andre steder -- det var der jeg fandt danNims spm ;O)
Avatar billede tuctoh Nybegynder
09. juni 2003 - 15:59 #20
ja, jeg har søgt.. har ikke fundet noget :(
Avatar billede roenving Novice
09. juni 2003 - 16:04 #21
;o(
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester