مسج - صنع كود تنفيذ لكل كائن DOM جديد مثيل
-
20-08-2019 - |
سؤال
وأنا أتساءل عما إذا كان هذا ممكنا في مسج.
ولدي بعض التعليمات البرمجية جافا سكريبت أن يخلق كائنات DOM على الطاير، ردا على إجراءات المستخدم. بعض من هذه الكائنات DOM هي في بنية محددة - الحاوية دائما نفس "الطبقة" سمة
.ما أود القيام به هو، في كل مرة يتم إنشاء مثيل جديد من كائن DOM مع الطبقة "X"، أريد نفس قطعة من شفرة جافا سكريبت لتنفيذه. وهذا الرمز بإضافة "عند _ النقر" الحدث لهذا الكائن DOM.
للأسف لا أستطيع مجرد وضع التعليمات البرمجية التي بتعيين عند _ النقر في document.Ready ()، لأن الكائنات التي تربط ليتم إنشاؤها على الطاير، بعد فترة طويلة نفذت document.Ready ().
هل مسج تتيح لك إنشاء الارتباطات الثابتة التي سوف تكون ملزمة تلقائيا إلى نوع الكائن DOM، حتى لو كان إنشاؤها على الطاير؟
المحلول
ويستخدم هذا لتكون مشمولة 'يعيش'، 'مندوب، أو في بعض الأحيان "مأزق". يتم استبدال هذه الآن مع 'على' ولكن هناك بعض المحاذير كما نوقش هنا: جافا سكريبت الحدث استمرار ملزمة أ >
نصائح أخرى
وأعتقد أنني قد وجدت الإجابة على سؤالي الخاصة، والحق في وثائق مسج، والمدهش بما فيه الكفاية.
http://docs.jquery.com/Events/live#typefn
live( type, fn )
وأضاف في مسج 1.3: يمتلك قدرة هائلة معالج للحدث (مثل نقرة) لجميع الحالي - عنصر مطابقة - والمستقبل. ويمكن أيضا ربط الأحداث المخصصة.
هل بدا البرنامج المساعد مسج دعا LiveQuery ؟
ومن صفحة وثائق LiveQuery:
<اقتباس فقرة>وعلى سبيل المثال يمكن استخدام التعليمات البرمجية التالية إلى ربط الحدث انقر فوق إلى كل والعلامات، وحتى أي والعلامات التي أن أضيف عبر AJAX.
اقتباس فقرة>$('a')
> .livequery('click', function(event) {
> alert('clicked');
> return false;
> });
<اقتباس فقرة>
وبمجرد إضافة العلامات الجديدة A الى حسابك وثيقة، ولايف سؤال ربط انقر الحدث، وليس هناك شيء آخر لا بد من دعا أو القيام به.
اقتباس فقرة> وليس من الممكن في مسج الأساسية (كما ربما كنت قد أدركت مع إجابات أخرى مشيرا إلى بعض الإضافات) ... وهذا يمكن أن تكون مهمة بسيطة للغاية إذا كنت لا أميل تحتاج بالضرورة عن وظائف شيء من هذا القبيل livequery
لالمتصفحات التي تدعم بها - استخدام الحدث مستوى DOM 2 - 'DOMNodeInserted':