ฉันเพิ่งเขียนโครงการอื่นและใช้ Innerhtml แต่หลังจากที่ฉันพบว่าหลังจากเรียก Innerhtml แล้ว Onclick ก็ถูกทำให้เป็นโมฆะ มันโดยตรง แต่สามารถนำไปใช้ทางอ้อมได้
ตัวอย่างที่ 1: ตัวอย่างนี้คือ onclick ที่ไม่สามารถทำได้
คัดลอกรหัสรหัสดังนี้:
<html>
<head>
<สคริปต์เลื่อนลอย>
ฟังก์ชั่น inscell (th)
ชื่อ var = th.name;
var id = th.id;
if (name == "ไม่") {{
id.innerhtml = "<อินพุต type = 'ปุ่ม' onclick = 'inscall (this)' value = 'ออนไลน์'
name = 'no' id = '1'> "";
} อื่น {
id.innerhtml = "<อินพุต type = 'ปุ่ม' onclick = 'inscall (this)' value = 'ออฟไลน์'
name = 'ใช่' id = '1'> "" ";
-
</script>
</head>
<body>
<br />
<span id = "msg">
<อินพุต type = "ปุ่ม" onclick = "inscall (this)" value = "ออฟไลน์" name = "ใช่" id = "1">
</span>
</body>
</html>
ตัวอย่างข้างต้นคือการตัดสินว่าออนไลน์ตามชื่อของปุ่มหรือออฟไลน์ ~~~ เราพบว่าเมื่อคุณคลิกครั้งแรกคุณจะไม่ถูกต้อง ~~~~~~~
ในเวลานี้เราสามารถตระหนักถึงการปลอมแปลงดังนี้:
คัดลอกรหัสรหัสดังนี้:
<html>
<head>
<สคริปต์เลื่อนลอย>
ฟังก์ชั่น inscell (th)
-
ชื่อ var = th.name;
var id = th.id;
การแจ้งเตือน (ชื่อ+"-"+id);
var span = document.getElementById (id);
if (name == "ไม่") {{
span.innerhtml = "<อินพุต type = 'ปุ่ม' value = 'ออฟไลน์'>";
span.name = "ใช่";
} อื่น {
span.innerhtml = "<อินพุต type = 'ปุ่ม' value = 'ไปออนไลน์'>";
span.name = "ไม่";
-
-
</script>
</head>
<body>
<br />
<span id = "1" onclick = "inscell (นี้)" name = "no">>
<อินพุต type = "ปุ่ม" value = "ออนไลน์">
</span>
</body>
</html>