JQuery kullanıyorsanız:
HTML:
<a id="openMap" href="/map/">link</a>
JS:
$(document).ready(function() {
$("#openMap").click(function(){
popup('/map/', 300, 300, 'map');
return false;
});
});
Bu, hala JS olmadan çalışma avantajına sahiptir veya kullanıcı bağlantıya orta tıklarsa.
Aynı zamanda, genel pop-up'ları şuna yeniden yazarak işleyebileceğim anlamına da geliyor:
HTML:
<a class="popup" href="/map/">link</a>
JS:
$(document).ready(function() {
$(".popup").click(function(){
popup($(this).attr("href"), 300, 300, 'map');
return false;
});
});
Bu, herhangi bir bağlantıya sadece pop-up sınıfı vererek bir pop-up eklemenize izin verir.
Bu fikir şu şekilde daha da genişletilebilir:
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;
});
});
Artık sitemin tamamında birçok pop-up için aynı kod parçasını onclick ile bir sürü şey yazmak zorunda kalmadan kullanabilirim! Yeniden kullanılabilirlik için Yaş!
Ayrıca, daha sonra pop-up'ların kötü bir uygulama olduğuna (ki bunlar!) Ve onları bir ışık kutusu tarzı kalıcı pencereyle değiştirmek istediğime karar verirsem, değiştirebileceğim anlamına gelir:
popup($(this).attr("href"), $(this).data('width'), $(this).data('height'), 'map');
için
myAmazingModalWindow($(this).attr("href"), $(this).data('width'), $(this).data('height'), 'map');
ve tüm sitemdeki tüm açılır pencerelerim artık tamamen farklı çalışıyor. Bir pop-up'ta ne yapılacağına karar vermek için özellik algılaması yapabilir veya onlara izin verip vermeme tercihlerini saklayabilirim. Satır içi onclick ile bu, büyük bir kopyalama ve yapıştırma çabası gerektirir.