Jika Anda menggunakan jQuery maka:
HTML:
<a id="openMap" href="/map/">link</a>
JS:
$(document).ready(function() {
$("#openMap").click(function(){
popup('/map/', 300, 300, 'map');
return false;
});
});
Ini memiliki manfaat tetap bekerja tanpa JS, atau jika pengguna mengklik tautan tersebut.
Ini juga berarti bahwa saya dapat menangani sembulan umum dengan menulis ulang lagi ke:
HTML:
<a class="popup" href="/map/">link</a>
JS:
$(document).ready(function() {
$(".popup").click(function(){
popup($(this).attr("href"), 300, 300, 'map');
return false;
});
});
Ini akan memungkinkan Anda menambahkan sembulan ke tautan apa pun dengan hanya memberikannya kelas sembulan.
Gagasan ini dapat diperluas lebih jauh seperti:
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;
});
});
Sekarang saya dapat menggunakan sedikit kode yang sama untuk banyak popup di seluruh situs saya tanpa harus menulis banyak hal onclick! Yay untuk dapat digunakan kembali!
Ini juga berarti bahwa jika nanti saya memutuskan bahwa popup adalah praktik yang buruk, (yang memang demikian!) Dan saya ingin menggantinya dengan jendela modal gaya lightbox, saya dapat mengubah:
popup($(this).attr("href"), $(this).data('width'), $(this).data('height'), 'map');
untuk
myAmazingModalWindow($(this).attr("href"), $(this).data('width'), $(this).data('height'), 'map');
dan semua popup saya di seluruh situs saya sekarang bekerja dengan sangat berbeda. Saya bahkan bisa melakukan deteksi fitur untuk memutuskan apa yang harus dilakukan pada sembulan, atau menyimpan preferensi pengguna untuk mengizinkannya atau tidak. Dengan onclick inline, ini membutuhkan salinan dan upaya menempel yang sangat besar.