ობიექტი this-ი JavaScript-ში
ახლა ჩვენ ვიმუშავებთ სპეციალურ
ობიექტთან this, რომელიც ხელმისაწვდომია მოვლენის დამმუშავებელ
ფუნქციაში. ეს ობიექტი მიუთითებს იმ ელემენტზე,
რომელშიც მოხდა მოვლენა.
ობიექტი this მოსახერხებელია, როდესაც ელემენტი,
რომელშიც მოხდა მოვლენა, და ელემენტი, რომელთანაც
მოქმედებები სრულდება მოვლენის შედეგად,
- ეს არის იგივე ელემენტი.
მაგალითად, თუ ჩვენ გვაქვს ინფუთი, ჩვენ შეგვიძლია მივაბათ მას ფოკუსის დაკარგვის დამმუშავებელი და ამ მოვლენის მოხდენისას რაიმე გავაკეთოთ ინფუთის ტექსტთან. მოდით გავაკეთოთ აღწერილი. დაე, ჩვენ გვქონდეს მოცემული ინფუთი:
<input id="elem" value="text">
მოდით მივიღოთ მისი მითითება ცვლადში
elem:
let elem = document.querySelector('#elem');
მივაბათ მას მოვლენის დამმუშავებელი ფუნქცია
blur:
elem.addEventListener('blur', func);
ამ ფუნქციის func შიგნით იქნება ხელმისაწვდომი
ობიექტი this, რომელიც მიუთითებს ჩვენს ინფუთზე:
function func() {
console.log(this); // შეიცავს ჩვენი ელემენტის მითითებას
}
გამოვიტანოთ ჩვენი ინფუთის ატრიბუტის value
შიგთავსი:
function func() {
console.log(this.value); // გამოვიტანოთ ატრიბუტის შიგთავსი
}
ახლა კი, ჩავწეროთ ინფუთში რაიმე ტექსტი:
function func() {
this.value = '!!!';
}
შესაძლებელია გამოვიყენოთ ანონიმური ფუნქციაც:
elem.addEventListener('blur', function() {
this.value = '!!!';
});
მოცემულია ინფუთი. ამ ინფუთის მიერ ფოკუსის მიღებისას
ჩაწერეთ მასში რიცხვი 1, ხოლო ფოკუსის
დაკარგვისას - რიცხვი 2. ინფუთთან მისასვლელად
ფუნქცია-დამმუშავებლის შიგნით გამოიყენეთ
ობიექტი this.
მოცემულია ღილაკი, რომლის მნიშვნელობაც არის რიცხვი
1. გახადეთ ისე, რომ ამ ღილაკზე დაწკაპუნებისას
მისი მნიშვნელობა ყოველ ჯერზე გაიზარდოს
ერთეულით.