الاحداث

هل من الممكن لحدث معين في جافا سكريبت استدعاء حدث اخر .

مثلا اي تغير في نص الادخال يستدعي حدث الضغط على اي زر بدون تدخل المستخدم.


مرحبا سالم،

بالطبع يمكن جعل حدث معين في JavaScript يستدعي حدثا آخر، وهذه العملية تدعى:

(Events Binding - Events Triggering )

فمثلا سنقوم بانشاء صفحة html تحوي على: حقل إدخال - زر - نص paragraph كالتالي:

<h1>Binding more than event example</h1>


<input type="text" id="text">


<button type="button" id="btn">Button</button>


<p id="res">This Result should be changed.</p>

سنقوم بإنشاء حدث (onkeydown) للكتابة ضمن حقل الادخال ذو المعرف id=text ، وظيفة هذا الحدث أن يقوم بدوره بتحريض الحدث الثاني وهو الضغط على الزر،

وسنقوم بإنشاء الحدث الثاني للضغط على الزر (onclick)، وهو : أن يتغير محتوى الكتابة ضمن الـ paragraph عند الضغط على الزر. كالتالي:

document.getElementById("text").onkeydown =     function (e) {
    document.getElementById("btn").click();
};


document.getElementById("btn").onclick = function (c) {
    document.getElementById("res").innerText = "Button was clicked";
}

وبالتالي سيكون تسلسل العمليات كالتالي:

  • -> عند الكتابة في حقل الادخال

  • -> سيتم تفعيل حدث الكتابة ضمن الحقل والذي بدوره

  • -> سيقوم بتفعيل حدث الضغط على الزر

  • -> والذي بدوره سيقوم بتغيير الكتابة ضمن الـ paragraph

شكرا محمد