მეთოდი dispatchEvent
მეთოდი dispatchEvent საშუალებას აძლევს სიმულირება მოახდინოს
მოვლენის ელემენტზე.
რატომ არის ეს საჭირო: შესაძლებელია მომხმარებლის მიერ ღილაკზე დაწკაპუნების,
ფორმის გაგზავნის მცდელობის და ა.შ. სიმულირება. ამ შემთხვევაში მოვლენა არ განსხვავდება
ნამდვილისგან, გარდა event.isTrusted
თვისებისა.
შესაძლებელია თვითონ შექმნა მოვლენები არასტანდარტული
(თქვენ მიერ გამოგონილი) სახელებით და შემდეგ მათი გამოძახება
საჭირო მომენტში. მეთოდი გამოიყენება იმ ელემენტზე, რომელზეც საჭიროა მოვლენის გამოწვევა.
პარამეტრად მეთოდი იღებს მოვლენას (ობიექტი), რომელიც შექმნილია კონსტრუქტორის
new Event მეშვეობით.
სინტაქსი
ელემენტი.dispatchEvent(მოვლენა);
მაგალითი
დავუშვათ, გვაქვს ღილაკი. ამ ღილაკზე დაწკაპუნებისას გამოიტანება შეტყობინება. მოდით, გავაკეთოთ ისე, რომ ღილაკზე მაუსის მიტანისას ეს ღილაკი იფიქრებს, რომ მასზე დააწკაპუნეს:
<button id="button">ღილაკი</button>
let button = document.querySelector('#button');
button.addEventListener('click', function() {
alert('შეტყობინება');
});
button.addEventListener('mouseover', function() {
let clickEvent = new Event('click'); // ვქმნით მოვლენას
this.dispatchEvent(clickEvent); // ვასიმულირებთ ღილაკზე დაწკაპუნებას
});
:
მაგალითი
შესაძლებელია საკუთარი მოვლენების შექმნა (საკუთარი სახელით)
და შემდეგ საჭირო მომენტში მათი გამოძახება. მოდით
მივაბათ ღილაკს მოვლენა showMessage და
მაუსის მიტანისას გამოვიწვიოთ ეს მოვლენა:
<button id="button">ღილაკი</button>
let button = document.querySelector('#button');
button.addEventListener('showMessage', function() {
alert('შეტყობინება');
});
button.addEventListener('mouseover', function() {
let showMessageEvent = new Event('showMessage'); // ვქმნით მოვლენას
this.dispatchEvent(showMessageEvent); // ვიწვევთ მოვლენის გაშვებას
});
: