หากคุณใช้ jQuery แล้ว:
HTML:
<a id="openMap" href="/map/">link</a>
JS:
$(document).ready(function() {
$("#openMap").click(function(){
popup('/map/', 300, 300, 'map');
return false;
});
});
สิ่งนี้มีประโยชน์ในการทำงานโดยไม่มี JS หรือหากผู้ใช้คลิกลิงก์ตรงกลาง
นอกจากนี้ยังหมายความว่าฉันสามารถจัดการป๊อปอัปทั่วไปได้โดยเขียนใหม่อีกครั้งเพื่อ:
HTML:
<a class="popup" href="/map/">link</a>
JS:
$(document).ready(function() {
$(".popup").click(function(){
popup($(this).attr("href"), 300, 300, 'map');
return false;
});
});
สิ่งนี้จะช่วยให้คุณสามารถเพิ่มป๊อปอัปลงในลิงก์ใดก็ได้โดยเพียงแค่ให้คลาสป๊อปอัป
แนวคิดนี้สามารถขยายออกไปได้มากขึ้นเช่น:
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;
});
});
ตอนนี้ฉันสามารถใช้รหัสบิตเดียวกันสำหรับป๊อปอัปจำนวนมากบนไซต์ทั้งหมดของฉันได้โดยไม่ต้องเขียนสิ่งที่ onclick! ใช่สำหรับการนำกลับมาใช้ใหม่!
นอกจากนี้ยังหมายความว่าหากในภายหลังฉันตัดสินใจว่าป๊อปอัปเป็นการปฏิบัติที่ไม่ดี (ซึ่งก็คือ!) และฉันต้องการแทนที่ด้วยหน้าต่างโมดอลสไตล์ไลท์บ็อกซ์ฉันสามารถเปลี่ยน:
popup($(this).attr("href"), $(this).data('width'), $(this).data('height'), 'map');
ถึง
myAmazingModalWindow($(this).attr("href"), $(this).data('width'), $(this).data('height'), 'map');
และป๊อปอัปทั้งหมดของฉันบนไซต์ทั้งหมดของฉันทำงานแตกต่างกันโดยสิ้นเชิง ฉันยังสามารถตรวจจับคุณสมบัติเพื่อตัดสินใจว่าจะทำอะไรในป๊อปอัปหรือจัดเก็บค่ากำหนดของผู้ใช้ว่าจะอนุญาตหรือไม่ ด้วยการคลิกแบบอินไลน์สิ่งนี้ต้องใช้ความพยายามอย่างมากในการคัดลอกและวาง