Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
23 / 7 / 0
Регистрация: 24.04.2018
Сообщений: 411

Как грамотно задать элементу событие onclick

12.10.2021, 19:22. Показов 954. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Обратите внимание на html разметку, меня интересует как правильно задать onclick элементу.
Сделал три варианта, они все работают. В силу того, что я недавно начал изучение JS,
я не могу понять какой из этих вариантов более грамотный.

HTML5
1
2
3
<div class ="block1" onclick ="one()"> 1 вариант </div>  <!-- 1 вариант  -->
<div class ="block2" onclick = two() > 2 вариант </div>  <!-- 2 вариант  -->
<div class ="block3"> 3 вариант </div>                   <!-- 3 вариант  -->
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
function one(){
alert('Do you like, what you see?')
}
 
function two(){
alert('1000-7')
}
 
let three = document.querySelector('.block3');
 
three.onclick = function (){
alert('It gets bigger, when i pull on it');
}
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
.block1{
margin-top:10px;
padding:10px;
border: 3px solid black;
}
 
.block2{
margin-top:10px;
padding:10px;
border: 3px solid black;
}
 
.block3{
margin-top:10px;
padding:10px;
border: 3px solid black;
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.10.2021, 19:22
Ответы с готовыми решениями:

Как правильно задать событие по клику по элементу со вложенными элементами?
Здравствуйте. На сайте контент заполняется карточками с продуктами из базы данных. Каждая карточка (див) содержит вложенные дивы:...

Как задать событие OnClick программно созданным кнопкам
Как задать событие OnClick программно созданным кнопкам for i := 1 to 16 do begin but:=Tbutton.Create(Application); ...

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

3
 Аватар для klyapa
3503 / 1267 / 429
Регистрация: 24.07.2016
Сообщений: 1,890
12.10.2021, 19:55
У вас отсутствует 4-ый, самый грамотный вариант:
JavaScript
1
2
3
4
5
var elem = document.querySelector('.block3');
 
elem.addEventListener('click', function (e) {
    alert(this.innerText);
});
1
23 / 7 / 0
Регистрация: 24.04.2018
Сообщений: 411
12.10.2021, 20:46  [ТС]
klyapa,
JavaScript
1
2
3
4
5
var elem = document.querySelector('.block3');
 
elem.addEventListener('click', function (e) {
    alert(this.innerText);
});
Благодарю за ответ, но я не совсем понимаю это логику.
Не могли бы вы пожалуйста сделать так, чтобы результат был как у меня,
то есть выводил три разных сообщения при клике на три блока.
И чтобы сообщения хранились в JS коде.
0
 Аватар для klyapa
3503 / 1267 / 429
Регистрация: 24.07.2016
Сообщений: 1,890
12.10.2021, 21:25
Лучший ответ Сообщение было отмечено Kerduk как решение

Решение

Цитата Сообщение от Kerduk Посмотреть сообщение
выводил три разных сообщения при клике на три блока. И чтобы сообщения хранились в JS коде.
HTML5
1
2
3
4
5
<div class="box">
    <div data-mess="0"> 1 вариант </div>
    <div data-mess="1"> 2 вариант </div>
    <div data-mess="2"> 3 вариант </div>
</div>
JavaScript
1
2
3
4
5
6
7
8
9
const message = [
    "Do you like, what you see?",
    "1000-7",
    "It gets bigger, when i pull on it"
];
 
document.querySelector('.box').addEventListener('click', function (e) {
    if(e.target.dataset.mess) alert( message[e.target.dataset.mess] ); 
});
Добавлено через 8 минут
CSS
1
2
3
4
5
div[data-mess]{
    margin-top:10px;
    padding:10px;
    border: 3px solid black;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.10.2021, 21:25
Помогаю со студенческими работами здесь

Как грамотно задать путь к файлу в file_get_contents()?
Здравствуйте. Проблема следующая: имеется функция show_user_widget(), показывающая виджет входа на сайт: //Виджет...

Как добавить onclick каждому элементу меню и подменю?
Пока, что в голове только перехватывать через хук wp_nav_menu_items html код меню, бежать коду html и добавлять туда, что-т о типа...

Как переделать событие onblur в onclick
Вот есть такое &lt;input type=&quot;text&quot; name=&quot;login&quot; onblur=&quot;checkLogin(this.value)&quot; /&gt; При потери фокуса с формы ввода вызывается...

Как отделить событие OnClick и OnDblClick?
Добрый день. Как разделить событие OnClick и OnDblClick, для SpeedButton? Допустим, если кликнуть на SpeedButton один раз выводится...

Как отследить событие OnClick в RecyclerView
Есть адаптер: public class RecyclerAdapter extends RecyclerView.Adapter &lt;RecyclerAdapter.ViewHolder&gt;{ TextView info; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru