Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
6 / 6 / 1
Регистрация: 30.09.2015
Сообщений: 140

Обработчик клика на созданый элемент

25.01.2017, 12:17. Показов 1275. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добавляю я новый div по средствам js, а именно .append
Но обработка события на клик по нему не работает.
Как сделать так чтобы она работала? по id или классу (IDS), так же нужно будет достать из него значение data-game="Значение"

JavaScript
1
2
$(document).on('click','#IDS',function() {  не работает(
$(".IDS").click(function() { тоже не работает
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.01.2017, 12:17
Ответы с готовыми решениями:

Не срабатывает обработчик клика.
Доброго времени суток! Смотрите. Есть такой код var params = {"playlist":, "uiLanguage":"ru",...

Добавить обработчик клика кнопке
Нужна кнопка, которая при нажатие выполняет текстовое изменения поля. Я так понимаю динамической кнопки в HTML нету? Нужно использовать...

Не работает обработчик клика мышью по динамически создаваемым кнопкам.
Помогите пожалуйста разобраться: вывожу в цикле do {} while () вопросы из базы, каждому вопросу добавляю кнопку <input...

13
14 / 14 / 12
Регистрация: 16.09.2015
Сообщений: 58
25.01.2017, 14:45
почитай про делегирование, либо вешай обработчик на созданный элемент
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
25.01.2017, 15:28
JavaScript
1
2
3
$(document).on('click','.IDS',function() {
  // ...
}
Классовый селектор начинается с точки.

Добавлено через 5 минут
Совет: рекомендуется указывать делегата как можно "ближе" к делегируемым элементам. Дело в том, что ваш обработчик будет срабатывать при каждом клике в области документа, что не есть хорошо в плане производительности.
0
6 / 6 / 1
Регистрация: 30.09.2015
Сообщений: 140
25.01.2017, 18:14  [ТС]
Цитата Сообщение от Balanaar Посмотреть сообщение
Классовый селектор начинается с точки.
спецом для вас написал что
Цитата Сообщение от Tvis Посмотреть сообщение
по id или классу
и естественно привел пример с id
Да это работает но, при каких то обстоятельствах вешается слишком много обработчиков ибо имею ajax загрузку страниц
и скрипт в некоторых случаях загружается несколько раз. а я так понимаю обработчик этот остается жить.
При $(".IDS").click(function() { этого не наблюдается НО не работает при динамическом добавлении
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
25.01.2017, 22:38
Цитата Сообщение от Tvis Посмотреть сообщение
не работает при динамическом добавлении
Спецом для вас сообщаю, что вы делегируете событие. Работать просто обязано. Ошибка явно не в той одной строчке кода, которую вы привели. Ищите.

Добавлено через 3 минуты
Цитата Сообщение от Tvis Посмотреть сообщение
скрипт в некоторых случаях загружается несколько раз
Скрипты всегда загружаются только один раз.
Цитата Сообщение от Tvis Посмотреть сообщение
при каких то обстоятельствах вешается слишком много обработчиков ибо имею ajax загрузку страниц
Набор слов. Что значит "вешается слишком много обработчиков" и как это связно с ajax?
0
6 / 6 / 1
Регистрация: 30.09.2015
Сообщений: 140
25.01.2017, 22:41  [ТС]
Цитата Сообщение от Balanaar Посмотреть сообщение
Спецом для вас сообщаю, что вы делегируете событие. Работать просто обязано. Ошибка явно не в той одной строчке кода, которую вы привели. Ищите.
именно она одна работает так криво все остальное просто чики поки, ибо этот обработчик
Цитата Сообщение от Balanaar Посмотреть сообщение
2
3
$(document).on('click','.IDS',function() {
* // ...
}
Посылает ajax и на сервере я вижу несколько запросов от 1 клиента ежесекундно, чем больше пройдешь по ссылкам черех ajax прогрузку тем больше раз эта функция выполняется
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
26.01.2017, 00:05
Если этот метод отправляет запрос - значит он работает исправно. То, что он в вашем коде вызывается ежесекундно - не проблема метода.
0
6 / 6 / 1
Регистрация: 30.09.2015
Сообщений: 140
26.01.2017, 00:36  [ТС]
Цитата Сообщение от Balanaar Посмотреть сообщение
Если этот метод отправляет запрос - значит он работает исправно. То, что он в вашем коде вызывается ежесекундно - не проблема метода.
да господи ежесекундно ничего не отправляется весь код это
JavaScript
1
2
3
4
5
6
7
$(document).on('click','.IDS',function() { 
 $.ajax({
            url: '/blabla',
            method: 'POST',
            data: { 
                "id": $(this).data("id")
            },
Это часть кода естественно все закрывается и тд. это самый последний скрипт.
вызывается на прямую со страницы из <script></script>
Просто дело втом что использую Laravel и страничка инклюдится с этим скриптом.
Но присудствует так же ajax загрузка страниц.. ибо она и мешает я так понял.
При переходе на страницы инклюятся они в главную home.blade.php которую смотрит пользователь.
и изза этого я так понял и идет множественное создание js скрипта и на 1 элемент вешается несколько обработчиков сразу.. а не один как это планировалось бы...
Надеюсь поняли мою проблему. есть еще методы которые бы смогли вешать обработчик клика на элементы?
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
26.01.2017, 01:56
Вся беда начинающих программеров в том, что они вечно понатыкивают кучу либ и фреймворков в свои проекты, толком не разобравшись в базах JS, PHP и всего, что с ними связано... А потом разбираются в получившемся мегахламе.
Как я вам и сказал, проблема совсем не в той строке кода, которую вы линканули, а в том, что у вас наверняка дикая каша в коде. Сначала вы опровергли моё утверждение в 6ом посте, потом подтвердили в 8ом.
Повторюсь:
Цитата Сообщение от Balanaar Посмотреть сообщение
Ошибка явно не в той одной строчке кода, которую вы привели. Ищите.
0
6 / 6 / 1
Регистрация: 30.09.2015
Сообщений: 140
26.01.2017, 02:00  [ТС]
Цитата Сообщение от Balanaar Посмотреть сообщение
что у вас наверняка дикая каша в коде
Каши совершенно нет, я знаю как все работает и как устроено
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
26.01.2017, 02:11
Ну раз вы всё знаете, то почему у вас многократно навешивается обработчик клика?
0
6 / 6 / 1
Регистрация: 30.09.2015
Сообщений: 140
26.01.2017, 02:26  [ТС]
Цитата Сообщение от Balanaar Посмотреть сообщение
Ну раз вы всё знаете, то почему у вас многократно навешивается обработчик клика?
Страничка загружается через ajax получается при переходах на другие странички и обратно Заново загружается js и каким то чудом старый обработчик остается жить. и потом он просто выполняется при клике столько раз, сколько было переходов между страницами.
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
26.01.2017, 09:16
Ну вот. Вы сами нашли проблему. Вынесите код в отдельный файл, подключите его лишь однажды в шапке, а в ajax-подгрузке не грузите его в контенте. Профит.
0
6 / 6 / 1
Регистрация: 30.09.2015
Сообщений: 140
28.01.2017, 14:45  [ТС]
Цитата Сообщение от Balanaar Посмотреть сообщение
Ну вот. Вы сами нашли проблему. Вынесите код в отдельный файл, подключите его лишь однажды в шапке, а в ajax-подгрузке не грузите его в контенте. Профит.
Я все понимаю но страниц много и везеде свои js такой выход нагрузит пользователя по полной которому даже не нужна та страница к которой грузится js
Выход я нашел, просто привязал $('#blo').on('click', к блоку а не к документу. и все стало работать как часики)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.01.2017, 14:45
Помогаю со студенческими работами здесь

Как добавить обработчик клика по "document" внутри цикла "for"?
Здравствуйте! Есть такой кусок куда как $(document).on('click', '#calcA', function() { ...

Обработчик програмного клика
Добрый день.Прошу помочь мне с написанием игры крестики-нолики. Код предоставляется public void Form2_Click(object sender, EventArgs...

Обработчик клика по кнопке!
Всем доброго времени суток!!! Помогите пожалуйста!!!!!!!! Существует отчет в Access, т.к. &quot;Поле список&quot; не дает нужного,...

Обработчик клика Button к ListBox
Как на примере кода ниже в обработчике клика кнопки button_find_Click взять выделенную строку ListBox.SelectedItem и после вытягивания...

Listview. удаление строки. обработчик двойного клика по строке.
Имеется ListView с несколькими строками (item). Так же имеется баттон. Требуется по нажатию на баттон удалить ВЫДЕЛЕННУЮ мышкой строку. Так...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru