@AlexandrMa

Как обернуть мой код в класс?

Сейчас весь код в глобальной области. Мне бы хотелось, чтобы все эти данные, прослушиватели и функции (методы) находились в какой-то одной сущности, модуле, классе. Не знаю как это назвать. Как это сделать?

document.addEventListener('DOMContentLoaded', function(){

  let table_items = document.getElementById('table_items');

  function getData(){
    let req = new XMLHttpRequest();
    req.open('POST', '/get_items.php');
    req.send();
    req.onreadystatechange = function(){
      if(req.readyState === 4 && req.status === 200){
        createTable(JSON.parse(req.responseText));
      }
    }
  }

  function createTable(els){

    let el = '';
    els.forEach(function(v, k){
      el += '<div class="item">';
      el += '<p>' + v.id + '</p>';
      el += '<p>' + v.date + '</p>';
      el += '</div>';
    });

    table_items.innerHTML = el;

  }


  document.addEventListener('click',function(e){
    if(e.target && e.target.className  === 'item'){
      alert('CHECK');
    }
  });

  getData(); //init

});
  • Вопрос задан
  • 234 просмотра
Решения вопроса 1
@lolzqq
HTML,CSS,JS,PHP
Это называется создать объект JavaScript.
window.my_custom_object={
    init:function(){ 
         // ваши инструкции
         alert('Скрипт работает!') // для теста можете оставить
    },
    another_function:function(){
        // ещё один метод объекта с вашими инструкциями
        alert('Второй скрипт тоже работает!'); // для теста можете оставить
    },
    parameter_1: "abc",
    parameter_2: 1
}
// вызываем метод init, прописанный в объекте
my_custom_object.init();
// вызываем метод another_function, прописанный в объекте
my_custom_object.another_function();
// вызываем параметр parameter_1, хранимый в объекте
alert(my_custom_object.parameter_1) // покажет вам текст "abc"
// вызываем параметр parameter_2, хранимый в объекте
alert(my_custom_object.parameter_2) // покажет вам текст "1"

Правда от этого этот код из глобальной области никуда не денется.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы