كيفية ربط بعض من وظيفة إلى عنصر غير موجود؟
-
05-07-2019 - |
سؤال
ومشكلتي: بعد تحميل بعض العناصر عن طريق اياكس، ط ربط البعض على مزدوجا فوق وظيفة، ولكن عندما المستخدم سيتم تحميل عدة مرات في نفس العنصر، والعمل binded سوف يكون تكرار (لا يحل، على الأقل هذا يبدو). حاولت unbind
، أو click(function(){return false;});
ولكن هذا العمل الكامل إزالة أنقر من عنصر ...).
ما هو الحل القياسية لهذا النوع من المشكلة؟
المحلول
لمعظم الأحداث يمكنك استخدام live()
(مسج 1.3 +):
$("td").live("click", function() {
// do stuff
});
وهذا سوف ربط الحدث انقر فوق ل<td>
العناصر التي تأتي إلى حيز الوجود بعد تشغيل هذا الرمز أيضا.
وهذا هو الحل أنظف بكثير من محاولة لربط / إلغاء التوثيق والتأكد من لم يكن لديك نفس الحدث ملزمة مرتين لعنصر معين.
نصائح أخرى
وإذا كنت تستخدم مسج 1.3.2، يمكنك استخدام $('').live('click', function() {});
لديك أي العناصر التي تطابق محدد لديهم عمل. إنها تحافظ على الحدث في جميع أنحاء حتى مع عناصر جديدة.