Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.11.2020, 07:39
Аспирант
Отправить личное сообщение для savsoft Посмотреть профиль Найти все сообщения от savsoft
 
Регистрация: 03.01.2019
Сообщений: 85

JQuery клик на кнопке в div c обработчиком.
Всем привет,

Столкнулся с такой проблемой, даже не знаю, как правильно сформулировать вопрос гуглу.

На вордпресс сайте есть div с инфой и кнопкой. Кнопка обрабатывается средствами вордпресса. Тема позволяет использовать пользовательские jquery скрипты. На весь div сделал обработчик. При клике по всему блоку он срабатывает, но при клике непосредственно по кнопке, сначала срабатывает обработчик div, а потом кнопка. Мне нужно, чтобы при клике непосредственно по кнопке - срабатывал только стандартный обработчик кнопки, а при клике в любом месте дива, кроме кнопки - мой обработчик клика по блоку.

Толкните в нужную сторону, куда копать.

Спасибо

Update
Добавил еще свой обработчик кнопки, который только делает e.stopPropagation(); а дальше кнопка обрабатывается штатными средствами. Не знаю насколько это правильно?

Последний раз редактировалось savsoft, 17.11.2020 в 07:53.
Ответить с цитированием
  #2 (permalink)  
Старый 17.11.2020, 08:01
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 29,569

Сообщение от savsoft
насколько это правильно?
правильно, это самое простое. есть ещё пара решений, перенести обработку клика по кнопке в клик по див(делегирование);
Ответить с цитированием
  #3 (permalink)  
Старый 17.11.2020, 20:56
Аспирант
Отправить личное сообщение для savsoft Посмотреть профиль Найти все сообщения от savsoft
 
Регистрация: 03.01.2019
Сообщений: 85

Сообщение от рони Посмотреть сообщение
правильно, это самое простое. есть ещё пара решений, перенести обработку клика по кнопке в клик по див(делегирование);
Спасибо
Ответить с цитированием
  #4 (permalink)  
Старый 17.11.2020, 21:32
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 29,569

savsoft,
// 1
parent.click = function() {
//что-то делаем
}
children.click = function(event) {
event.stopPropagation()
}
 // 2
parent.click = function(event) {
if(event.target == children) return;
//что-то делаем
}
children.click = function() {

}
// 3
parent.click = function(event) {
if(event.target == children) {
//обработка клика по кнопке
};
else //что-то делаем
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Клик по кнопке срабатывает со второго раза при первом действиии darmoid Общие вопросы Javascript 1 22.10.2014 16:45
Клик по кнопке после клика в модальном окне xqq jQuery 5 12.02.2014 20:11
jquery выбрать div с помощью ссылки в нем nioxkzn jQuery 2 02.04.2011 00:40
Из textarea в div jquery BorisBritva Events/DOM/Window 5 22.11.2010 19:08
jquery maxImage, как поместить бэкграунд в div? dplz jQuery 4 10.07.2010 14:09