มีสองวิธีใน jquery ที่สามารถใช้เพื่อผูกวัตถุ DOM ที่ต่อท้ายโดยอัตโนมัติ จริงๆ แล้วทั้งสองวิธีเป็นตัวแปรของวิธีการผูกเมื่อจัดการกับวัตถุ DOM แบบคงที่ เรามักจะใช้ Just bind is เพียงพอแล้ว แต่สำหรับอ็อบเจ็กต์ DOM ที่สร้างโดยอ็อบเจ็กต์แบบไดนามิก คุณไม่สามารถทำอะไรกับการผูกได้ ในเวลานี้ การถ่ายทอดสดและการมอบหมายเข้ามามีบทบาท 555
วิธี live ใช้เพื่อผูกวัตถุบางอย่าง (บางประเภท) และผูกวิธีการกับวัตถุเหล่านั้น
คัดลอกรหัสรหัสดังต่อไปนี้:
//สด
$("td").live("คลิก", ฟังก์ชั่น () {
การแจ้งเตือน($(นี้).html());
-
//สิ่งต่อไปนี้ก็เป็นไปได้เช่นกัน$("#list td").live("click", function () {
การแจ้งเตือน($(นี้).html());
-
วิธีการมอบหมายจะใช้ในการผูกวัตถุย่อยภายใต้วัตถุบางประเภท (บางประเภท) และวิธีการผูกกับวัตถุย่อย (มอบหมายวัตถุย่อยเพื่อให้วัตถุย่อยมีวิธีการบางอย่าง 555)
คัดลอกรหัสรหัสดังต่อไปนี้:
$("#list").delegate("td", "click", function () {
การแจ้งเตือน($(นี้).html());
-
รหัสที่สมบูรณ์ของ DEMO ด้านล่าง:
คัดลอกรหัสรหัสดังต่อไปนี้:
<html lang="th" xmlns="http://www.w3.org/1999/xhtml">
<หัว>
<meta charset="utf-8" />
<title></title>
<script src="jquery.js" type="text/javascript"></script>
<script id="listTemplate" type="text/html">
<tr>
<td>[รหัสผู้ใช้]</td>
<td>[UserImg]</td>
<td>[ชื่อผู้ใช้]</td>
</tr>
</สคริปต์>
<script type="text/javascript">
var reg = new RegExp("//[([^//[//]]*?)//]", 'igm'); // igm หมายถึงการระบุการจับคู่แบบคำนึงถึงตัวพิมพ์เล็กและใหญ่ตามลำดับ จับคู่หลายบรรทัด .
$(ฟังก์ชัน () {
//สด
$("#list td").live("คลิก", ฟังก์ชั่น () {
การแจ้งเตือน($(นี้).html());
-
$("#addFun").คลิก(ฟังก์ชั่น () {
var html = document.getElementById("listTemplate").innerHTML;
var source = html.replace(reg, function (node, key) { return { 'UserImg': '1', 'UserName': 'zhang', 'UserID': '1' }[key]; });
$("#list").ผนวก(ที่มา);
-
-
</สคริปต์>
</หัว>
<ร่างกาย>
<div id="comment_ul_2">
</div>
<input type="button" id="addFun" value="คลิกฉัน" />
<ตาราง id="รายการ">
<tbody>
</tbody>
</ตาราง>
</ร่างกาย>
</html>