ความแตกต่างระหว่าง JavaScript ใน onClick มักจะไม่เป็นประโยชน์และไม่สังเกตเห็น แต่มันก็หดหู่เล็กน้อยเมื่อมีบางอย่างผิดปกติ คำอธิบายมีดังนี้:
ฉันเคยเป็นแบบสบาย ๆ แต่ต่อมาฉันเห็นว่า LinkButton ใน. NET ดูเหมือนจะใช้ในรูปแบบของ <a href = "JavaScript: fun ();" ... > วันนี้ฉันพบปัญหาบางอย่างโดยใช้วิธีนี้ ฉันจะใช้บทความของชาวเน็ตและข้อสรุปของฉันด้านล่าง:
1. เหตุการณ์ onClick ที่เชื่อมโยงจะถูกดำเนินการก่อนตามด้วยการกระทำภายใต้แอตทริบิวต์ HREF (การกระโดดหน้าหรือ JavaScript pseudo-link);
2. สมมติว่ามีทั้ง HREF และ ONCLICK ในลิงค์หากคุณต้องการการกระทำภายใต้แอตทริบิวต์ HREF ที่จะไม่ถูกดำเนินการ ONCLICK จะต้องได้รับค่าส่งคืนของเท็จ หากคุณไม่เชื่อคุณสามารถแสดงความคิดเห็นการส่งคืนเท็จในฟังก์ชั่น GogGoogle;
3. หากหน้านั้นยาวเกินไปและมีแถบเลื่อนและคุณต้องการดำเนินการผ่านเหตุการณ์ OnClick ที่เชื่อมโยง แอตทริบิวต์ HREF ของมันควรตั้งค่าเป็น JavaScript: Void (0); แทนที่จะเป็น #ซึ่งป้องกันการกระโดดหน้าไม่จำเป็น
4. หากฟังก์ชั่นที่มีค่าส่งคืนถูกเรียกในแอตทริบิวต์ HREF ที่เชื่อมโยงเนื้อหาของหน้าปัจจุบันจะถูกแทนที่ด้วยค่าส่งคืนของฟังก์ชันนี้
5. จะมีความแตกต่างบางอย่างเมื่อกดปุ่ม Shift ค้างไว้
6. ปัญหาที่ฉันพบในวันนี้คือ ParentNode ไม่สามารถเข้าถึงได้ใน IE6.0 ในรูปแบบของ HREF
7. พยายามอย่าใช้ JavaScript: Protocol เป็นแอตทริบิวต์ HREF ของ A ซึ่งไม่เพียง แต่จะทำให้เกิดการเรียกใช้ Window.onbeforeunload เหตุการณ์ แต่จะหยุดเล่นภาพแอนิเมชั่น GIF ใน IE
นั่นคือทั้งหมดที่ฉันใช้เวลากับมันมาก
[เหตุผล]
เมื่อใช้การควบคุม checkboxList คุณต้องการใช้ฟังก์ชั่นของการเชื่อมโยงช่องทำเครื่องหมายแต่ละช่อง นอกเหนือจากการคลิกที่ลิงค์เพื่อให้ได้ฟังก์ชั่นบางอย่างคุณต้องเลือกช่องทำเครื่องหมายด้วย
<อินพุต type = "ช่องทำเครื่องหมาย" name = "chk" id = "chk">
<label for = "chk"> เลือก <a onclick = "this.parentNode.Click ();" href = "#" style = "border: solid 1px blue;"> [link in label] </a> </lable>
ในที่สุดมันก็ถูกนำไปใช้โดยใช้ ParentNode
<a href = "javascript: void (0)" onclick = "definefield (this); return false"> clicktodefine </a>