سؤال

وكيف أقوم بإضافة الحدث انقر فوق باستخدام addEventListener (window.onload) عندما يتم إنشاء العلامات في السؤال من الخادم (عن طريق طلب xmphttp، لا أقل)؟

وشكرا!

هل كانت مفيدة؟

المحلول

لديك لتطبيق الحدث hanlders <م> بعد تم إدراج العناصر في DOM

نصائح أخرى

ويمكنك محاولة لمعالجة الأحداث لعناصر الأم، التي تتوفر كما تحميل DOM، ثم الحصول على عنصر المتعلقة الحدث.

<ul id="list">
  <li id="first">The first</li>
  <li id="second">The second</li>
  <li id="third">The third</li>
</ul>

document.getElementById('list').onclick(function(e){
  o = e.originalTarget;
  // if you click on second li o will bi the same as document.getElementById('first')
  // even if li with id "first" is inserted to DOM after creating this event handler to "list"
  // so here you can perform actions with it
  // hope it will help
});

وبفضل جميع.

وأنا تحل بذلك عن طريق إضافة رمز أدناه إلى الحدث "على نجاح" على طلب XMLHTTP أن ملؤها DOM مع العناصر القادمة من الخادم. التي عملت بالنسبة لي. جوش، كنت حصلت رأسي تتحرك في الاتجاه الصحيح (على الرغم من أنه كان من الجميل أن نرى مثالا كود) لذلك أنا ملحوظ ردكم كجواب.

if ((xmlhttp.readyState == 4) && (xmlhttp.status == 200)) {

                        var m_sel=document.getElementById("fcat");

                        if (m_sel) {

                            var maxi = m_sel.options.length;

                            for( var i = 0; i < maxi; i++ )
                            {
                                var option = m_sel.options[i];
                                    option.addEventListener( "click", toggleElem, true );

                            }                                 

                        }        
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top