شرح صفوف ومحتوى الفقرة
تتشابه خاصيتان مهمتان داخل كائن الحدث ظاهرياً لكن لكل منهما دلالة دقيقة يجب التمييز بينها:
- الخاصية
e.target: تشير إلى أعمق عنصر فرعي نقر عليه المؤشر فعلياً، مثل وسم<strong>أو شارة داخلية بداخل الزر. - الخاصية
e.currentTarget: تشير دائماً إلى العنصر المحدد الذي يحمل خاصية المعالج مثل عنصر<button>الأب نفسه.
لذلك اعتمد دائماً على e.currentTarget عند قراءة سمات العنصر الحاضن للأيقونات والنصوص الفرعية.
HTML
function PlanButton({ onRead }) {
function handlePick(e) {
const hit = e.target.tagName;
const owner = e.currentTarget.tagName;
onRead(`target=${hit}, currentTarget=${owner}`);
}
return (
<button type="button" onClick={handlePick}>
<strong>Pro Plan</strong> <span>($19)</span>
</button>
);
}