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

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

25.01.2017, 12:17. Показов 1293. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru