[JS] In Opera onkeydown/keyup cancelen

Pagina: 1
Acties:

  • Blaise
  • Registratie: Juni 2001
  • Niet online
Ik heb een autosuggest script gemaakt in JS met een xmlhttprequest. Dit biedt extra functionaliteit bij een PM systeem doordat een javascript suggesties doet op basis van de eerste ingetypte letters. Die suggesties verschijnen onder het input veld, op een vergelijkbare manier als Google Suggest. Dat gedeelte werkt prima.

Het probleem ligt bij onkeypress/down/up events en Opera. Ik wil dat je met pijltjestoetsen door het suggestveld kan browsen. Dat werkt in ider geval Firefox, IE6 en Opera. Het probleem bij Opera is echter dat die ook de hele pagina gaat scrollen als je met de pijltjestoetsen in de weer gaat. Het lukt me niet om dat te cancelen.

Je kan het bekijken op deze pagina. Log in met test / test. De JS is hier te vinden. De event handling staat onderaan. Als het niet werkt staat mijn PC uit, ik test lokaal

Ik heb al het een en ander geprobeerd, ook met cancelBubble en dergelijke, maar dat haalt niks uit. Weet iemand raad?

  • Blaise
  • Registratie: Juni 2001
  • Niet online
kick!

  • killercow
  • Registratie: Maart 2000
  • Laatst online: 08:34

killercow

eth0

Als laatste redmiddel:
Kun je niet de huidge scroll locatie uitlezen en na een keyup/down in opera de scrolllocatie hier weer naar toe verplaatsen? (met een beetje geluk krijg je geen gestuiter en is je probleem "opgelost")

openkat.nl al gezien?


Verwijderd

opera vangt sommige javascriptsacties af. Dit kan je in opera ook uitzetten, maar staat standaard aan. Misschien dat het daaraan kan liggen?

opera:extra > voorkeuren>tabblad geavanceerd >inhoud> javascriptopties

Afbeeldingslocatie: http://img144.imageshack.us/img144/1205/operajavascriptopties3ap.th.png

[ Voor 63% gewijzigd door Verwijderd op 17-06-2006 19:08 ]


  • Blaise
  • Registratie: Juni 2001
  • Niet online
Wat naar. Je kan het vast niet uitzetten voor je bezoeker? < domme vraag.
Ik ga wel voor killercow's methode of een andere workaround.

[ Voor 15% gewijzigd door Blaise op 17-06-2006 18:55 ]


Verwijderd

http://www.takeitnow.nl/tin.cgi?ysindex=100 werkt goed zonder rare scrol van de hele pagina..opera scherm wel eerst verkleinen om scrollbalk te zien. Succes met uitzoeken hoe het daar precies werkt. PS goed van je dat je je site ook in opera test _/-\o_

[ Voor 48% gewijzigd door Verwijderd op 17-06-2006 19:33 ]


  • Blaise
  • Registratie: Juni 2001
  • Niet online
Bij die website is het een selectbox, dus die biedt native support voor bepaalde toetsen waardoor de body-scroll niet reageert. Voor mij is dat geen oplossing omdat een selectbox te beperkt te stylen is.
PS goed van je dat je je site ook in opera test
Ach ja, je moet toch iets met je tijd ;)

  • kunnen
  • Registratie: Februari 2004
  • Niet online
Blaise schreef op zaterdag 17 juni 2006 @ 19:54:
Bij die website is het een selectbox, dus die biedt native support voor bepaalde toetsen waardoor de body-scroll niet reageert. Voor mij is dat geen oplossing omdat een selectbox te beperkt te stylen is.


[...]
Ach ja, je moet toch iets met je tijd ;)
Hidden selectbox die de focus heeft, en de events doorspeelt aan het textfield? Bij elke keydown de focus overzetten van textfield -> selectbox, en dan bij keyup de focus terug en eventueel daar ook het karakter heensturen wanneer het geen pijltjestoets was.

Zeer omslachtige methode, maar als niets anders kan...
Pagina: 1