คุณสามารถปิดใช้งานลิงก์ทั้งหมดในเพจด้วยคลาสสไตล์นี้:
a {
pointer-events:none;
}
แน่นอนว่าเคล็ดลับคือปิดใช้งานลิงก์เมื่อคุณต้องการเท่านั้นนี่คือวิธีการ:
ใช้คลาส A ที่ว่างเปล่าเช่นนี้:
a {}
จากนั้นเมื่อคุณต้องการปิดใช้งานลิงก์ให้ดำเนินการดังนี้:
GetStyleClass('a').pointerEvents = "none"
function GetStyleClass(className)
{
for (var i=0; i< document.styleSheets.length; i++) {
var styleSheet = document.styleSheets[i]
var rules = styleSheet.cssRules || styleSheet.rules
for (var j=0; j<rules.length; j++) {
var rule = rules[j]
if (rule.selectorText === className) {
return(rule.style)
}
}
}
return 0
}
หมายเหตุ: ชื่อกฎ CSS จะเปลี่ยนเป็นตัวพิมพ์เล็กในบางเบราว์เซอร์และรหัสนี้คำนึงถึงตัวพิมพ์เล็กและใหญ่ดังนั้นควรใช้ชื่อคลาสตัวพิมพ์เล็กสำหรับสิ่งนี้
เพื่อเปิดใช้งานลิงก์อีกครั้ง:
GetStyleClass('a').pointerEvents = ""
ตรวจสอบหน้านี้http://caniuse.com/pointer-eventsสำหรับข้อมูลเกี่ยวกับความเข้ากันได้ของเบราว์เซอร์
ฉันคิดว่านี่เป็นวิธีที่ดีที่สุด แต่น่าเสียดายที่ IE จะไม่อนุญาตเช่นเคย :) ฉันโพสต์สิ่งนี้อยู่แล้วเพราะฉันคิดว่าสิ่งนี้มีข้อมูลที่อาจเป็นประโยชน์และเนื่องจากบางโครงการใช้เบราว์เซอร์ที่รู้จัก เช่นเมื่อคุณใช้การดูเว็บบนอุปกรณ์เคลื่อนที่
หากคุณต้องการปิดการใช้งานเพียงลิงก์เดียว (ฉันรู้แค่ว่านั่นคือคำถาม) ฉันจะใช้ฟังก์ชันที่กำหนดเองด้วยตนเองในการกำหนด URL ของหน้าปัจจุบันหรือไม่ตามเงื่อนไขนั้น (เช่นโซลูชันที่คุณยอมรับ)
คำถามนี้ง่ายกว่าที่คิดไว้เยอะเลย :)