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

خطأ Cannot read properties of undefined في لغة جافا سكريبت JavaScript

محمود سعداوي2

السؤال

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

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

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
بتاريخ 1 دقيقة مضت قال سامح أشرف:

الخطأ بسبب إستدعاء الدالة 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
بتاريخ 1 دقيقة مضت قال محمود سعداوي:

شكرا

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

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

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

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

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 1 دقيقة مضت قال سامح أشرف:

لكي يتم طباعة أي قيمة في 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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...