2010-09-08 13 views
6

Quindi ci sono 4 metodi principali di cui sono a conoscenza per eseguire il codice javascript da un collegamento. Per le mie esigenze, ho bisogno di farlo senza spostare lo schermo da nessuna parte (il collegamento a # e la mancata restituzione di false è errato). Anche SEO per il codice javascript eseguito, se possibile, è importante. Quindi qual è il modo giusto per farlo?Modo corretto per i collegamenti per eseguire il codice javascript

il metodo 1 (necessario assicurarsi mycode() restituisce false sempre): (? Sembra avere più senso)

<a href="#" onclick="return myCode();">execute</a> 

Metodo 2:

<a href="javascript:myCode();">execute</a> 

Metodo 3:

metodo 4 (non così piacevole semanticamente come gli altri che penso):

<span id="executeMyCodeLink" class="link">execute</a> 
<script> 
$('#executeMyCodeLink').click(myCode); 
</script> 

con il metodo 4, è possibile utilizzare onclick oltre naturalmente ..

risposta

5

Si fa in modo che la pagina non salti e usi un tag "a" con un href e il metodo 4 usando preventDefault.

È importante includere un href perché i collegamenti non vengono formattati correttamente e il tuo html non verrà convalidato altrimenti.

+0

Questo sembra avere più senso, mi piace che jQuery abbia un meccanismo per questo senza fare affidamento su return false che ha altre conseguenze. –

0

L'utilizzo di jquery è un modo discreto per gestire le chiamate javascript. Quindi direi il metodo 4. Si può anche solo fare:

$(a#linkId).click(...); 
0

Preferisco anche il metodo 4.

Gli eventi di associazione agli oggetti dom separatamente sono un modo più elegante e penso che sia una buona abitudine di programmazione.

0

Mi piace anche il metodo 4. Quando è possibile cerco di non inserire nulla direttamente negli attributi pari o di scrivere direttamente js nell'href. Lo faccio perché nella maggior parte dei casi in realtà metti male un url non js come href, quindi degrada per i browser non js abilitati. Il secondo reson non mi piace inquinare gli elementi con cruft :-)

Problemi correlati