هناك طريقتان في jquery يمكن استخدامهما لربط كائنات DOM الملحقة تلقائيًا، وهما طريقتان مباشرتان ومفوضتان بما فيه الكفاية، ولكن بالنسبة لكائنات DOM التي يتم إنشاؤها ديناميكيًا بواسطة الكائنات، لا يوجد شيء يمكنك القيام به باستخدام الربط في هذا الوقت، يتم تشغيل البث المباشر والمفوض، هاها.
تُستخدم الطريقة المباشرة لربط كائن معين (من نوع معين) وربط الأساليب به.
انسخ رمز الكود كما يلي:
//يعيش
$("td").live("انقر"، الوظيفة () {
تنبيه($(هذا).html());
});
// ما يلي ممكن أيضًا $("#list td").live("click", function () {
تنبيه($(هذا).html());
});
تُستخدم طريقة التفويض لربط الكائنات الفرعية ضمن كائن معين (نوع معين) وربط الأساليب بالكائن الفرعي (تفويض الكائن الفرعي بحيث يكون للكائن الفرعي طريقة معينة، هاها)
انسخ رمز الكود كما يلي:
$("#list").delegate("td"، "click"، الوظيفة () {
تنبيه($(هذا).html());
});
الكود المكتمل للعرض التوضيحي أدناه:
انسخ رمز الكود كما يلي:
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<الرأس>
<meta charset="utf-8" />
<العنوان></العنوان>
<script src="jquery.js" type="text/javascript"></script>
<script id="listTemplate" type="text/html">
<تر>
<td>[معرف المستخدم]</td>
<td>[UserImg]</td>
<td>[اسم المستخدم]</td>
</tr>
</script>
<نوع البرنامج النصي = "نص/جافا سكريبت">
var reg = new RegExp("//[([^//[//]]*?)//]"، يشير //igm إلى تحديد المطابقة الحساسة لحالة الأحرف والمطابقة العامة على التوالي لمطابقة أسطر متعددة .
$(وظيفة () {
//يعيش
$("#list td").live("click"، الوظيفة () {
تنبيه($(هذا).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").append(source);
});
});
</script>
</الرأس>
<الجسم>
<div id="comment_ul_2">
</div>
<input type = "button" id = "addFun" value = "انقر فوقي" />
<معرف الجدول = "قائمة">
<الجسم>
</tbody>
</الجدول>
</الجسم>
</html>