it-swarm-eu.dev

È meglio mettere l'azione nell'href o in un evento onclick?

Dal punto di vista dell'usabilità:
Nella maggior parte dei siti Web è possibile vedere un collegamento che esegue un'azione come il collegamento "Elimina" che elimina un record, ad esempio "Aggiungi commento", "Vota", ....

È meglio inserire l'azione javascript nell'attributo href del tag html anchor:

<a href="javascript:RemoveMe(132);"> Remove</a>

O fallo in un evento:

<a href="#" onlcick="RemoveMe(132)"> Remove</a>

La differenza tra questi 2 modi, è come l'utente vedrà il link nella sua barra di stato del browser.
Nel primo modo l'utente vedrà nella barra di stato: javascript: RemoveMe (132);

Ma nel secondo modo l'utente vedrà nella barra di stato: www.example.com/pagesample/#

Qual è la migliore dal punto di vista dell'usabilità? qual è il comune da usare?

4
Amr Elgarhy

È meglio inserire il link di rimozione al href e al gestore javascript nel onclick.

<a href="/123/remove/" onclick="RemoveMe(132); return false">Remove</a>

In questo modo gli utenti senza javascript potranno comunque utilizzare la tua app (ma con un reindirizzamento a un'altra pagina) e coloro che hanno abilitato javascript useranno la versione javascript. Entrambi vedranno un link significativo nella barra di stato.

Se l'azione è significativa solo in questa pagina (mostra/nascondi smth, carica più dati, ad esempio), non dovresti usare <a> tag qui. Usa stile <span> con sottolineatura tratteggiata, ad esempio.

In entrambi i casi, è anche utile scrivere un attributo title sul tuo link che spieghi cosa accadrà (verrà mostrato nella descrizione comando), per gli utenti che non usano le barre di stato.

12
Nikita Prokopov

L'opzione migliore in questo caso non è nessuno dei due: utilizzare invece un tag <button> (Con un gestore onclick) poiché è meglio per la semantica e l'accessibilità.

5
wildpeaks

Da un puro POV di usabilità, questo è irrilevante. La cosa più importante è come stai indicando visivamente gli elementi cliccabili.

Da un POV di gestione del codice, è meglio applicare gli eventi onclick in modo dinamico dopo il caricamento del DOM piuttosto che incollare tutto in linea (questo è il modo in cui jQuery funziona, ad esempio).

Dal punto di vista dell'accessibilità, le cose si complicano. Con le interfacce pesanti di JavaScript, studia gli attributi e le tecniche di ARIA.

3
DA01

È meglio aggiungerlo in modo dinamico. Quindi se l'utente ha javascript disabilitato non ottiene pulsanti/collegamenti inutili.

Ma se si tratta di esso, il secondo. www.example.com/pagesample/# non è affatto migliore dal punto di vista dell'usabilità. In che modo (potenzialmente) si sposta meglio la schermata degli utenti verso l'alto? Non dice nulla che l'utente possa capire.

2
srcspider

Entrambe le strade sono cattive, perché non sono collegamenti reali. Ma il primo modo è meno peggio del secondo. Almeno, ha qualcosa di vagamente significativo e correlato all'obiettivo del collegamento nell'attributo href . Inoltre, è un po 'più accessibile, perché l'azione è legata al attivazione del collegamento, non al clic del collegamento.

0

Evento, sicuramente. Ricorda che i link possono essere aggiunti ai segnalibri/trascinati e rilasciati/aperti in un'altra scheda e così via. Preferisco fare azioni come eventi e i collegamenti alle loro spalle indicano "#" (fittizio) o qualcosa che può essere aggiunto ai segnalibri (pagina corrente).

0