"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لماذا يتم تشغيل وظيفة JavaScript عند النقر قبل الأوان عند استخدام الأقواس؟

لماذا يتم تشغيل وظيفة JavaScript عند النقر قبل الأوان عند استخدام الأقواس؟

تم النشر بتاريخ 2024-11-10
تصفح:636

Why Does JavaScript onclick Function Trigger Prematurely When Parentheses Are Used?

يتم تشغيل وظيفة جافا سكريبت عند النقر قبل الأوان

عند إنشاء رابط بجماليات مشابهة لعلامة ولكن المقصود منه تنفيذ وظيفة عند النقر قد يواجه المستخدمون سيناريو يتم فيه استدعاء الوظيفة بشكل خاطئ عند تحميل الصفحة. هذا يمنع حدث النقر المطلوب من العمل بشكل صحيح.

المأزق الشائع هو الاستخدام غير السليم للأقواس عند تعيين سمة onclick. بدلاً من sendNode.onclick = SecondFunction()، الذي ينفذ الوظيفة على الفور، يكون بناء الجملة الصحيح هو sendNode.onclick = SecondFunction. يؤدي هذا إلى تعيين مرجع للوظيفة، والتي سيتم تنفيذها فقط عند حدث النقر.

function startFunction() {
  var sentNode = document.createElement('a');
  sentNode.setAttribute('href', "#");
  sentNode.setAttribute('onclick', secondFunction);
  //sentNode.onclick = secondFunction();
  sentNode.innerHTML = "Sent Items";
  //...
}

من خلال حذف الأقواس، يرتبط حدث onclick بشكل صحيح بمرجع وظيفة وليس نتيجة تنفيذها، مما يضمن السلوك المقصود.

بيان الافراج أعيد طبع هذه المقالة على: 1729552154 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3