Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
1 / 1 / 1
Регистрация: 20.03.2017
Сообщений: 121

Обработчик события нажатия на ячейку таблицы с передачей переменных

25.02.2018, 19:52. Показов 2534. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Есть таблица 7x7 включая строку заголовков. Необходимо отслеживать событие нажатия на ячейку таблицы и передать функции-обработчику дату. Но передать дату не удается. Как быть?
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
 var local_date = new Date();
 var rows = document.getElementsByTagName('tr');     
    for(var i=1; i<7; i++ ){
        var columns = rows[i].getElementsByTagName('td');
        for(var j=0; j<7; j++){
            columns[j].innerHTML = local_date.getDate().toString();   //заполнение таблицы
            columns[j].onclick = function (local_date) { 
                alert('дата: '+local_date);
            }
            local_date.setDate(local_date.getDate()+1);
        }
        j=0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.02.2018, 19:52
Ответы с готовыми решениями:

Почему когда я вешаю обработчик события на ячейку и этот обработчик срабатывает, то оказывается, он сработал совершенно для ДРУГОЙ ячейки?
Да, почему? Скропаем DataGridView; кинем на форму listBox2 и listBox1 и напишем такой обработчик для события EditingControlShowing...

Обработчик события нажатия на кнопку
Народ, моделирую ситуацию: Есть какой-то счетчик. Он начинается с 0. Во время работы приложения пользователь зажимает кнопку...

Исправить обработчик события нажатия на клавишу
Всем привет. private void Eventer_Closing(object sender, KeyEventArgs e) { if(e.Key==Key.Escape) { ...

4
0 / 0 / 0
Регистрация: 02.02.2018
Сообщений: 5
26.02.2018, 08:15
Не рекомендуется в циклах использовать функции. Браузеры снабжены классной штукой: всплытие события и перехват. Почитай здесь и удачи:
https://learn.javascript.ru/event-delegation
0
Модератор
Эксперт HTML/CSS
 Аватар для AlexZaw
2379 / 1739 / 677
Регистрация: 07.08.2016
Сообщений: 4,093
26.02.2018, 09:17
Цитата Сообщение от МВС Посмотреть сообщение
Не рекомендуется в циклах использовать функции.
С этого места поподробнее, т.е. если я захочу посчитать ряд Фибоначчи мне не рекомендуется использовать рекурсию?
К тому же здесь даже не функция используется, а подвешивается слушатель события на ячейки таблицы, о чем вы сами написали упомянув делегирование.

По теме: У вас функция ожидает принятие значения, но его туда никто не передает, в алерте же выводится объект Date, а не конкретная дата
0
0 / 0 / 0
Регистрация: 02.02.2018
Сообщений: 5
26.02.2018, 12:45
А onclick() это разве не функция? У меня на сайте такой же перебор стоит и файловый менеджер даже предупреждает об использовании функции в цикле. Сейчас как раз переписываю все и делаю через всплытие.
0
Модератор
Эксперт HTML/CSS
 Аватар для AlexZaw
2379 / 1739 / 677
Регистрация: 07.08.2016
Сообщений: 4,093
26.02.2018, 13:34
Когда вы подвешиваете событие при помощи делегирования, вам не придется подвешивать события на динамически генерируемый контент, что сократит ваш код и гарантирует то что сгенерированный контент будет обрабатываться.

И да, onclick это не функция, это событие
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.02.2018, 13:34
Помогаю со студенческими работами здесь

Обработчик события нажатия мыши в ListView
Народ, помогите, не могу понять как получить значение нажатой ячейки?? У меня на форме listView, определен как gridView. Как по двойному...

Написать обработчик события нажатия кнопки с клавиатуры
Пишу калькулятор. Как сделать так, что бы программа воспринимала нажатие кнопок + и - с клавиатуры как... выполнение соответствующих...

Обработчик события нажатия кнопки мыши для dataGridView
Здравствуйте=) помогите пожалуйста с решением вот этой задачи: для таблиц DataGridView создается обработчик события нажатия кнопки...

Написать универсальный обработчик события нажатия на клавише <Enter>
Написать универсальный обработчик события нажатия на клавише &lt;Enter&gt;, в котором данные, введённый пользователем в TextBox или...

Написать функцию-обработчик для события нажатия на клавишу
По нажатию пользователя на какую-либо клавишу на клавиатуре должно выдаваться сообщение о том, какую клавишу пользователь нажал. onkeydown


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Киев стоит - украинская песня
zorxor 28.01.2026
wfWdiRqdTxc О Господи, Вечный, Ты . . . Я помоги, Бесконечный. . . Я прошу Ты. . . Я погибаю, спаси. . . Я прошу Тебя Вечный. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru