Se stai usando jQuery, allora:
HTML:
<a id="openMap" href="/map/">link</a>
JS:
$(document).ready(function() {
$("#openMap").click(function(){
popup('/map/', 300, 300, 'map');
return false;
});
});
Questo ha il vantaggio di continuare a lavorare senza JS o se l'utente fa clic sul collegamento al centro.
Significa anche che potrei gestire i popup generici riscrivendoli di nuovo a:
HTML:
<a class="popup" href="/map/">link</a>
JS:
$(document).ready(function() {
$(".popup").click(function(){
popup($(this).attr("href"), 300, 300, 'map');
return false;
});
});
Ciò ti consentirebbe di aggiungere un popup a qualsiasi link semplicemente assegnandogli la classe popup.
Questa idea potrebbe essere ulteriormente estesa in questo modo:
HTML:
<a class="popup" data-width="300" data-height="300" href="/map/">link</a>
JS:
$(document).ready(function() {
$(".popup").click(function(){
popup($(this).attr("href"), $(this).data('width'), $(this).data('height'), 'map');
return false;
});
});
Ora posso usare lo stesso codice per molti popup su tutto il mio sito senza dover scrivere un sacco di cose onclick! Yay per riusabilità!
Significa anche che se in seguito decido che i popup sono cattive pratiche (che sono!) E che voglio sostituirli con una finestra modale in stile lightbox, posso cambiare:
popup($(this).attr("href"), $(this).data('width'), $(this).data('height'), 'map');
per
myAmazingModalWindow($(this).attr("href"), $(this).data('width'), $(this).data('height'), 'map');
e tutti i miei popup sull'intero sito ora funzionano in modo totalmente diverso. Potrei anche fare il rilevamento delle funzionalità per decidere cosa fare in un popup o memorizzare le preferenze degli utenti per consentirli o meno. Con il clic on-line, ciò richiede un enorme sforzo di copia e incolla.