اذهب إلى المحتوى

السؤال

نشر (معدل)

السلام عليكم.

أرجو المساعدة في الخطأ التالي

Uncaught TypeError: Cannot read properties of undefined (reading 'target')

علما و أن الشيفرة هي التالية:

const btns = document.querySelectorAll("button")

btns.forEach(btn =>{
    btn.addEventListener('click',btnAction)
})

function btnAction(e) {
    let description = e.target.getAttribute("data-cookie")
    console.log(description);
}

btnAction()

شكرا.

تم التعديل في بواسطة سامح أشرف
تنسيق وتوضيح السؤال

Recommended Posts

  • 0
نشر

الخطأ بسبب إستدعاء الدالة btnAction في نهاية الكود، حيث لم تقم بتمرير أي حدث إليها وبالتالي فإن المعامل e غير معرف undefined، وبالتالي يحدث خطأ عند محاولة الوصول إلى الخاصية target ضمن المعامل e

كل ما عليك لحل المشكلة أن تقوم بحذف آخر إستدعاء للدالة btnAction من الكود:

const btns = document.querySelectorAll("button")

btns.forEach(btn =>{
    btn.addEventListener('click', btnAction)
})

function btnAction(e) {
    let description = e.target.getAttribute("data-cookie")
    console.log(description);
}

// هذا السطر هو سبب المشكلة
// btnAction()

 

  • 0
نشر
  بتاريخ On 21‏/3‏/2022 at 10:30 قال سامح أشرف:

الخطأ بسبب إستدعاء الدالة btnAction في نهاية الكود، حيث لم تقم بتمرير أي حدث إليها وبالتالي فإن المعامل e غير معرف undefined، وبالتالي يحدث خطأ عند محاولة الوصول إلى الخاصية target ضمن المعامل e

كل ما عليك لحل المشكلة أن تقوم بحذف آخر إستدعاء للدالة btnAction من الكود:

const btns = document.querySelectorAll("button")

btns.forEach(btn =>{
    btn.addEventListener('click', btnAction)
})

function btnAction(e) {
    let description = e.target.getAttribute("data-cookie")
    console.log(description);
}

// هذا السطر هو سبب المشكلة
// btnAction()

 

أظهر المزيد  

شكرا

ولكن في هذه الحالة console لايظهر شيء

يعني console.log(description) لم تعد تعمل

  • 0
نشر
  بتاريخ On 21‏/3‏/2022 at 10:34 قال محمود سعداوي:

شكرا

ولكن في هذه الحالة console لايظهر شيء

يعني console.log(description) لم تعد تعمل

أظهر المزيد  

لكي يتم طباعة أي قيمة في console فإنك بحاجة إلى الضغط على أي زر في الصفحة، وذلك لأنك حددت مسبقًا كل الأزرار buttons وأضفت حدث event لتنفيذ الدالة btnAction عند الضغط على أي زر، أيضًا يجب أن يحتوي الزر الذي تضغط عليه الخاصية data-cookie لكي يتم طباعة قيمتها.

إن أستمرت المشكلة لديك، فأرجو منك أن ترفق كود HTML كذلك.

  • 0
نشر
  بتاريخ On 21‏/3‏/2022 at 10:38 قال سامح أشرف:

لكي يتم طباعة أي قيمة في console فإنك بحاجة إلى الضغط على أي زر في الصفحة، وذلك لأنك حددت مسبقًا كل الأزرار buttons وأضفت حدث event لتنفيذ الدالة btnAction عند الضغط على أي زر، أيضًا يجب أن يحتوي الزر الذي تضغط عليه الخاصية data-cookie لكي يتم طباعة قيمتها.

إن أستمرت المشكلة لديك، فأرجو منك أن ترفق كود HTML كذلك.

أظهر المزيد  

نعم نعم

أحيانا عندما يطول الكود يكثكر الإرتباك

شكرا جزيلا

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...