Visualizzazione dei risultati da 1 a 4 su 4

Discussione: EventHandler

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    27

    EventHandler

    Ciao,
    sto scrivendo una funzione per menu accessibili navigabili da tastiera con le frecce e ho il seguente problema,

    ipotizziamo un menu così: HOME | NEWS | BLOG | CONTATTI

    Supponiamo che sto navigando il menu con le frecce della tastiera e il focus passa da Home a News , ora sono nella funzione onFocus(theID) e ho come id =mi1100, ora all'interno di questa funzione richiamo un'altra funzione eventHandler(), per gestire gli eventi, il cui obiettivo è far sì che quando l'utente preme invio si apra il link corrispondente, es. www.ansa.it,

    l'html è così:
    <dt id="mi1000" >HOME</dt>
    <dt id="mi1100" >NEWS</dt>

    La funzione che rileva i tasti premuti ce l'ho e funzione, ma in pratica vorrei sapere come dire browser di aprere il link che voglio
    case KEY_ENTER:
    window.open(theID.href); //boh non so come fare


    sto scrivendo una funzione per menu accessibili navigabili da tastiera con le frecce , qualcuno conosce e può indicarmi qualcosa già fatto?

    grazie, ditemi se si capisce ciò che voglio o meno

  2. #2
    devi usare l'evento onKeyDown su l'oggetto window, poi controlli il keyCode associato all'evento e se è 13 allora è invio.

    N.B. l'invio di destra ha un altro keyCode che adesso non mi ricordo, ti conviene farlo stampare per prova.
    I DON'T Double Click!

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    27
    ok ho fatto la rilevazione del tasto e rilevo correttamente che è stato premuto invio, ora mi occorre proprio il fatto di dire al browser di aprire il link (non in una nuova finestra)

    cioè se ad esempio rilevo che sono su news con id="mi1100" e ho premuto invio voglio che apra il link <a href> corrispondente ossia "www.ansa.it" (non so come recuperare www.ansa.it e poi come indicare che deve aprire questa pagina)

    l'html del menù è una serie di linee simili a questa
    <dt id="mi1100" >NEWS</dt>


    grazie

  4. #4
    allora devi fare così:

    codice:
    var element; //qui è dove ti trovi l'elemento su cui hai focus
    var lnk = element.getElementsByTagName("a")[0]; //Do per scontato che c'è sempre un elemento con tag <a>
    window.location.href = lnk.href; //Faccio redirect sull'URL inserito nel link
    I DON'T Double Click!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.