Не. Лучше через data-, кмк. Вернее так: событие должен ловить некий css-селектор (в т.ч. через data-*). А что делать с этим элементом, сотдержится в дата-атрибутах. Я так делаю. Правда я в js далеко не гуру и, возможно, вообще правильнее dom- элементы заворачивать в какую-то js-обёртку.
Я пару лет назад тоже так рассуждал и даже делал обработчики навешивая на элементы где data-do="указание какого-то действия" функций обработчиков тех или иных действий. Потом стал писать разные модули и придумывание разных функций каждый раз для каки-то действий это только хуже и навешивание событий это только дополнительная путаница и тд. В html предусмотрены атрибуты для обработки событий onclik и др. on* к тому же есть возможность создания своих событий через MutationObserver, создав модуль для обработки событий наблюдений за элементами просто прописываешь как обычно своё событие on*** с указанием функции обработки и всё. А для ускорения разработки в других модулях подготавливаешь функции для изменения, работы с элементами и др. указывая которые в обработчиках событий, так намного понятнее и проще.
Пофиг. Но лично я предпочитаю по возможности не писать ничего лишнего в разметке, особенно для множества однотипных элементов.
Как для программиста это да, пофиг, можно как угодно сделать, главное чтобы работало.
Я же хочу чтобы и не программисты могли без знаний JS легко создавать разные динамические формы обрабатываемые скриптом и тд. Короче решил через события делать, разработчику не трудно прописать атрибут события, а пользователю без знаний JS надо просто скопировать готовую разметку и всё, так будет удобно для всех ИМХО
Так нагляднее, ИМХО. И это не обязательно огромная кнопка, можно маленькую иконку ставить.
Ну это не ответ на мой вопрос: навешивать события скриптом или делать прописыванием их в элементе через атрибуты on*
Это украшение так сказать, удобство интерфейса, при наведении мышкой на элемент который имеет возможность редактирования, например можно менять цвет фона, границы, показывать подсказку и тд.
Правильнее - вставлять кнопку "Редактировать".
Я так делал по началу, создавал элемент input в его value значение записи и тд. коряво выглядит и глупо так делать если можно просто указать contentEditable="true". Сейчас в js возможностей достаточно чтобы сделать намного лучше, с кнопкой это по моему уже не актуально(прошлый век).
Или может я не правильно понял. Зачем вообще кнопка "Редактировать"? Да, если одно поле это в принципе приемлемо, но если таблица, у каждого значения кнопку, нафига..
Так разве про рубль могут только россияне вести диалог?
Можете обсуждать сколько угодно, только это ничего не изменит 😎
ЗЫ. В мире финансов как ни странно, но физические законы тоже действуют. Например если кинуть мячик в стену, то он от неё отскакивает, так же и тренд меняется.
Эта заначка наша. А если пиндосы посмеют присвоить или отдать кому-то то им же хуже будет и они это понимают.
Можете не верить, время покажет 😎
Всем Здравствуйте! Долго думал как объяснить свою мысль, попытаюсь объяснить помогите пожалуйста.
Есть js код который изменит размер элемент сайта, но при срабатывания js код , изменить только один элемент, остальный остаётся так как есть, таких элемент в страница 10 штук, как сделать так чтоб js код срабатывал для всей (10 штук) определенный элемент сайта?
Заранее спасибо!
Во-первых тут наблюдение за элементом вообще не нужно. Во-вторых вам правильно советуют, нужно применять функцию к каждому элементу.
Это делается намного проще:
К тем элементам которые хотите изменить добавьте признак, атрибут data- для выборки
<div data-i="elementsayta"></div>
Затем выбираете эти элементы и применяете к ним функцию:
<script>let els=document.querySelectorAll('[data-i="elementsayta"]');els.forEach(function(elt){ elt.style.height='500px' elt.style.minHeight='500px'})</script>
Переживём. Зато потом укрепление до 50₽/$1 как минимум.