#15. Уроки по JavaScript для НАЧИНАЮЩИХ (cssText, classList, data атрибуты)
Символы, которые ломают форумы, чаты, сообщения и комментарии
Несколько неожиданностей принес мне релиз моего веб-приложения MathTasks. О некоторых из них я уже написал в статье "Баги, лаги и говнокод - первые результаты работы моего сайта". Но это ещё не всё, выскакивают новые сюрпризы. Один из таких вынесен в заголовок статьи. На моём сайте пользователь с ником Beanskers печатал "волшебные" символы, которые ломали визуальную часть блока комментариев. Он, к слову, указал об этом в ошибках (за это ему отдельное спасибо!) Я комментарии удалил, но как решить проблему не придумал сразу...
🚩 Когда title к месту: показываем подсказку только если текст не влез!
Каждый из нас знает про text-overflow: ellipsis — ту самую магию, что обрезает текст и добавляет многоточие «…», если он не помещается в контейнер. А что делать, если хочется показывать title только тогда, когда текст обрезан? Раньше мне казалось, что это невозможно… но решение оказалось проще, чем я думал! 👌 Трюк, который решает задачу: сравниваем внутренние размеры элемента (clientWidth и clientHeight) с его размерами с прокруткой (scrollWidth и scrollHeight). Это простое сравнение подскажет, когда текст обрезан, а когда нет...