راکت
حل شده

مشکل prevent default با queryslectorAll

4 پاسخ

سلام من یک از queryselectoraAll استفاده کردم و به یک سری از کلاس ها که اسمشون card هست متصل شده
حالا داخل card.addEventListener یک تابع
Prevent default گذاشتم اما خطا میده
و میگه باید از queryselector استفاده کنی تا کد اجرا بشه
کسی میدونه مشکلش کجاس؟

ثبت پرسش جدید

پاسخ‌ها

4
محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

بهترین پاسخ

بر خلاف queryselector که خروجیش اولین المنتی از صفحه هست که اون selector براشون صدق می‌کنه، queryselectoraAll خروجیش یک لیست از تمامی این آتم ها هست.

به همین خاطر لازمه که اگر می‌خواهید به تک تک المنت ها یک eventlistener اضافه کنید این فرایند رو در یک حلقه انجام بدید. مثلا:

document.querySelectorAll(".box").forEach(box => 
  box.addEventListener("click", () => box.classList.toggle("red"));
)
Danideveloper
Danideveloper
@danideveloper

تخصص: web desgniner

ممنون
اگر بخواهیم دستور ()Prevent default به تمام المنت ها بدهیم به چه شکل هست؟
@mhyeganeh

محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

بر حسب نیاز و شرایط پاسخ فرق می‌کنه و خودتون باید کلیتش رو متوجه بشید و بر حسب نیازتون شخصی سازیش کنید. ولی حالت زیر یک مثالش هست که می‌تونید ازش الگو بگیرید:

document.querySelectorAll(".box").forEach(box => 
    box.addEventListener("click", (event) => event.preventDefault());
)

شاید پاسخ شما همین‌جا باشد

Danideveloper
Danideveloper
@danideveloper

تخصص: web desgniner

مررررسییییییی

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام