Imposta lo stato attivo della tastiera su

Ho il seguente frammento di codice:

<table id="ptObj_listbox1...

Ho una pagina che sta costruendo gli elementi

dynamicmente (come sopra). Questo

visualizza i dati nella parte superiore della schermata principale. Quando la pagina genera i div, vorrei mettere a fuoco. Non riesco a mettere una funzione onLoad sul body tag perché non so quando verranno generati i div.

Un tag

    non può avere il focus impostato direttamente su di esso. Così ho inserito un tag vuoto con un ID che sto chiamando nella seguente funzione:

     function setTableFocus(count){ var flinkText = 'focusLink'+count; document.getElementById(flinkText).focus(); } 

    Non ricevo errori e so che la funzione viene chiamata quando viene presentata la pagina (tramite avvisi). Tuttavia, quando uso i tasti freccia o il pulsante Invio l’intera pagina si sposta (nemmeno il div che presenta i dati).

    Quando clicco su uno degli elementi della tabella (usando il mouse). Successivamente, l’evento keydown inizia a funzionare. Quello che vorrei fare era presentare i dati all’utente e essere automaticamente guidati da tastiera.

    Qualcuno ha qualche suggerimento su come posso farlo?

    puoi rendere un div focalizzabile se aggiungi un attributo tabindex .

    vedere: http://snook.ca/archives/accessibility_and_usability/elements_focusable_with_tabindex

    Il valore del tabindex può consentire alcuni comportamenti interessanti.

    • Se viene fornito un valore di “-1”, l’elemento non può essere catalogato ma l’elemento può essere triggersto a livello di programmazione (utilizzando element.focus ()).
    • Se viene assegnato un valore pari a 0, l’elemento può essere focalizzato tramite la tastiera e cade nel stream di tabulazione del documento.
    • Valori maggiori di 0 creano un livello di priorità con 1 che è il più importante.

    AGGIORNAMENTO: aggiunta una semplice demo su http://jsfiddle.net/roberkules/sXj9m/

    La funzione che genera dynamicmente i divs avrà il contesto disponibile per sapere su quale div focalizzare l’attenzione, dopo che l’ultimo div ha emesso uno script con uno scrollTo () per mettere a fuoco il div desiderato. Assegna a ogni div un ID, così sarai in grado di sceglierlo dal set.

     Response.Write "  " 

    Non puoi mettere a fuoco un div. Intendi focalizzare un input?

    Ad ogni modo, puoi includere un breve tag di script per mettere a fuoco qualcosa nell’HTML – basta mettere lo script subito dopo il div – o anche all’interno del div.

    Hai il controllo della funzione asp? Se sì, allora sarebbe il posto più facile per mettere a fuoco. Altrimenti, è ansible ascoltare l’evento DOMNodeInserted (nota: il supporto del browser può variare) e impostare lo stato DOMNodeInserted su div (oi relativi figli) in base alle condizioni appropriate.

    Potresti usare getElementsByClassName

     
    TEXT

    vuoi dire che vuoi focalizzare i div quando viene generato? prova a cercare per questi

    http://api.jquery.com/focus/

    e

    http://api.jquery.com/live/

    e per il keypress ..

    http://api.jquery.com/keypress/

    i div di afaik e altri elementi possono avere un focus di qualche tipo come in wiki, come ..

    http://en.wikipedia.org/wiki/JavaScript#Cross-site_vulnerabilities

    e scorrerà automaticamente lì. Non sono sicuro di come.

    per quanto riguarda le div e le tabelle generate dynamicmente, è ansible utilizzare la funzione live () di jquery

    Risolvo quello facendo il seguente: