Аналог (эквивалент) метода one() из jQuery для JavaScript
В большинстве случаев, при разработке каких-то дополнений для сайтов, я использую jQuery, а не JavaScript ввиду её простоты. Несмотря на это, некоторые варианты решений я всё же переписываю и на чистом JavaScript, хотя бы для материалов из раздела «Статьи и советы».
Так, при написании очередной статьи (к слову, она была посвящена отложенной загрузке скриптов), при представлении варианта кода на JavaScript, я задался вопросом о том, каким образом можно воссоздать метод one() из jQuery для JavaScript, который, если вы помните, позволяет выполнить нужное действие только один раз:
$(document).one("click", function() {
alert("Hello, world!");
});
Почитав документацию к методу addEventListener() из JavaScript, я увидел, что с некоторого времени в большинстве браузеров стал доступен параметр options со значением once: true, который как раз делает то, что нам и нужно (запускает указанный обработчик один раз):
document.addEventListener("click", function() {
alert("Hello, world!");
}, {
once: true
});
Но это, как и с многими задачами, не единственный вариант решения данного вопроса.