ฉันต้องการถามเกี่ยวกับแท็ก HTML
<a href="www.mysite.com" onClick="javascript.function();">Item</a>
วิธีการนี้ทำให้แท็กทำงานกับhrefและonClick ? (ชอบใช้ onClick ก่อนแล้วจึง href)
ฉันต้องการถามเกี่ยวกับแท็ก HTML
<a href="www.mysite.com" onClick="javascript.function();">Item</a>
วิธีการนี้ทำให้แท็กทำงานกับhrefและonClick ? (ชอบใช้ onClick ก่อนแล้วจึง href)
คำตอบ:
คุณมีสิ่งที่คุณต้องการแล้วโดยมีการเปลี่ยนแปลงไวยากรณ์เล็กน้อย:
<a href="www.mysite.com" onclick="return theFunction();">Item</a>
<script type="text/javascript">
function theFunction () {
// return true or false, depending on whether you want to allow the `href` property to follow through or not
}
</script>
พฤติกรรมเริ่มต้นของ<a>
แท็กonclick
และhref
คุณสมบัติคือการดำเนินการonclick
จากนั้นทำตามhref
ตราบใดที่onclick
ไม่ส่งคืนfalse
ยกเลิกเหตุการณ์ (หรือเหตุการณ์ไม่ได้รับการป้องกัน)
href="#"
URL จริงแทน
ใช้jQuery คุณต้องจับภาพclick
เหตุการณ์จากนั้นไปที่เว็บไซต์
$("#myHref").on('click', function() {
alert("inside onclick");
window.location = "http://www.google.com";
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" id="myHref">Click me</a>
href
แอตทริบิวต์ที่มีความหมายเสมอ
เพื่อให้บรรลุการใช้ html ต่อไปนี้:
<a href="www.mysite.com" onclick="make(event)">Item</a>
<script>
function make(e) {
// ... your function code
// e.preventDefault(); // use this to NOT go to href site
}
</script>
<a href="http://example.com" >Item</a>
และใน Chrome ฉันเห็นข้อความบางอย่างที่อนุญาตให้หน้าเรียกใช้ลิงค์นี้ (แจ้งเตือนที่ส่วนท้ายของแถบ URL ของ Chrome) ในซาฟารีในคอนโซลฉันเห็นว่า warrning: [ถูกบล็อก] หน้าเว็บที่fiddle.jshell.net/_displayไม่ได้รับอนุญาตให้แสดงเนื้อหาที่ไม่ปลอดภัยจากexample.com - นั่นอาจเป็นปัญหาด้านความปลอดภัย (เฉพาะในซอเท่านั้น)
ไม่จำเป็นต้องใช้ jQuery
บางคนบอกใช้onclick
เป็นการฝึกที่ไม่ดี ...
ตัวอย่างนี้ใช้จาวาสคริปต์เบราว์เซอร์ล้วนๆ ตามค่าเริ่มต้นดูเหมือนว่าตัวจัดการการคลิกจะประเมินก่อนการนำทางดังนั้นคุณสามารถยกเลิกการนำทางและดำเนินการเองได้หากต้องการ
<a id="myButton" href="http://google.com">Click me!</a>
<script>
window.addEventListener("load", () => {
document.querySelector("#myButton").addEventListener("click", e => {
alert("Clicked!");
// Can also cancel the event and manually navigate
// e.preventDefault();
// window.location = e.target.href;
});
});
</script>
ใช้ng-click
แทนonclick
. และมันง่ายอย่างที่:
<a href="www.mysite.com" ng-click="return theFunction();">Item</a>
<script type="text/javascript">
function theFunction () {
// return true or false, depending on whether you want to allow
// the`href` property to follow through or not
}
</script>