Как оптимизировать навешикание обработчиков на 1000 блоков?

184
11 мая 2018, 08:42

Вот говорят на собеседовании:

Представь у тебя 1000 блоков и тебе нужно обработчик на каждый навесить. Как бы ты это оптимизировал ?

Answer 1

Добавляешь всем общий класс (или что угодно, что можно использовать в css-селекторе). Потом на ближайшем общем родителе (или на body) подписываешься на всплытие клика по соответствующим элементам.

$("body").on('click', "p", function (e) { 
  console.log(this.outerHTML + "\n" + e.target.outerHTML) 
})
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<p>123 <span>span <em>em</em></span></p> 
<p>456 <span>span <em>em</em></span></p> 
<p>789 <span>span <em>em</em></span></p>

READ ALSO
Вёрстка для перевода в PDF

Вёрстка для перевода в PDF

У меня есть задание сверстать страницы, которые в будущем будут переведены в pdfПроблема в том, что footer и header должны повторяться на каждой странице

186
Как включить конвертацию .md в .html у Jekyll?

Как включить конвертацию .md в .html у Jekyll?

У джекиля должна быть конвертация маркдауна в хтмл, но я не могу понять как ее включить?

199
Вопрос по поводу Web-Приложений

Вопрос по поводу Web-Приложений

Есть сайт с адаптированным для телефонов дизайном, но в мобильных браузерах (Firefox, Samsung Internet) отсутствует кнопка для добавления сайта на главный...

205
Как одной .png цветную и черно-белую?

Как одной .png цветную и черно-белую?

Есть такая картинка в формате "png" :

206