Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/56: Рейтинг темы: голосов - 56, средняя оценка - 4.82
Модератор
 Аватар для TanaTiX
2933 / 1792 / 180
Регистрация: 19.02.2011
Сообщений: 6,550

Определение объекта, по которому произошел клик

21.02.2015, 18:14. Показов 11659. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
JavaScript
1
2
3
$(document).click(function(e){
   //и тут код
}
В обработчике необходимо определить, пришелся ли клик по нужному мне элементу или нет. При этом структура html-разметки может быть совершенно разная.
Заранее спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.02.2015, 18:14
Ответы с готовыми решениями:

TextBox: определение слова, по которому был сделан клик
как определить слово по которому мы кликнули в richtextbox. PS есть задача : дать возможность пользователю между некоторыми словами...

Определение номера столбца и номера ячейки по которому был совершен клик мышкой в Grid
Всех приветствую! Пытаюсь в по клику определить номер ячейки в grid, в котором лежит Image. Вот код. Если кликаю по пустой ячейки...

Как узнать класс столбца, по которому произошёл Click в DataGridView
В DataGridView столбцы генерируются автоматически (разных типов) в зависимости от того, что назадавал пользователь. Соственно нужно, чтобы...

14
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
21.02.2015, 19:11
JavaScript
1
2
3
$(document).click(function(e){
   console.log( e.target ); // элемент, на котором произошло событие
});
Добавлено через 4 минуты
P.S. Для пущей верности, можно делегированную обработку сделать и ограничить дочерними элементами body
JavaScript
1
2
3
4
$(document).on('click', 'body *', function(e){
    e.stopPropagation();
    console.log( e.target ); // элемент, на котором произошло событие
});
1
Модератор
 Аватар для TanaTiX
2933 / 1792 / 180
Регистрация: 19.02.2011
Сообщений: 6,550
21.02.2015, 19:13  [ТС]
Lazy_Den, я пробовал e.target, но он показывает контейнер, а не тот объект, который мне нужно определить. При этом отменять стандартный клик не нужно до определения интересующего объекта.
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
21.02.2015, 19:15
TanaTiX, на дополнение в моем ответе, внимание обратили?
1
Модератор
 Аватар для TanaTiX
2933 / 1792 / 180
Регистрация: 19.02.2011
Сообщений: 6,550
21.02.2015, 19:26  [ТС]
Lazy_Den, да, уже обратил )))
Но есть одно НО: если внутрь объекта, по которому я отлавливаю клик я помещаю другой объект, на который приходится клик, то я получаю самый внутренний объект, а не тот, который меня интересует.
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
21.02.2015, 19:34
Цитата Сообщение от TanaTiX Посмотреть сообщение
не тот, который меня интересует
А вас интересует родительский элемент?

Добавлено через 2 минуты
Давайте не так... Кликая в этом примере по <span>, какой элемент вам нужно вычислить?
1
Модератор
 Аватар для TanaTiX
2933 / 1792 / 180
Регистрация: 19.02.2011
Сообщений: 6,550
21.02.2015, 19:43  [ТС]
p

Не по теме:

просто буквы

0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
21.02.2015, 19:48
JavaScript
1
2
3
4
5
6
7
8
$(document).on('click', 'body *', function(e){
    e.stopPropagation();
    console.log( e.target.parentNode.tagName );
    // или 
    console.log($(this).parent()[0].tagName );
    // равносильно
    console.log($(this).parent().get(0).tagName );
});
1
Модератор
 Аватар для TanaTiX
2933 / 1792 / 180
Регистрация: 19.02.2011
Сообщений: 6,550
21.02.2015, 19:54  [ТС]
Lazy_Den, я наверное не правильно выразился. Суть в том, что я однозначно не могу сказать, какой именно элемент мне нужен, но он может быть на любом уровне иерархии, и система должна работать одинаково.
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
21.02.2015, 19:58
Цитата Сообщение от TanaTiX Посмотреть сообщение
я однозначно не могу сказать, какой именно элемент мне нужен
Может тогда расскажите суть задачи, для которой пытаемся сделать то, не знаю что?
0
33 / 34 / 13
Регистрация: 06.04.2012
Сообщений: 264
21.02.2015, 19:58
У объекта в любом случае должен быть какой-то селектор. JQuery пока не поддерживает гадание
JavaScript
1
$(this).siblings("селектор")
1
21.02.2015, 20:00

Не по теме:

Jackky, siblings тут вообще не к месту. Если ищем по иерархии, то closest()

0
21.02.2015, 20:02

Не по теме:

Lazy_Den, да, согласен, неверно прочитал измышления автора. Но суть в том, что этот таинственный объект должен иметь какое-то конкретное отличие от других, в любом случае.

0
21.02.2015, 20:05

Не по теме:

Цитата Сообщение от Jackky Посмотреть сообщение
этот таинственный объект должен иметь какое-то конкретное отличие от других
А он и имеет такое отличие - это его таинственность :wizard:

0
Модератор
 Аватар для TanaTiX
2933 / 1792 / 180
Регистрация: 19.02.2011
Сообщений: 6,550
21.02.2015, 23:51  [ТС]
Помог closest. Всем спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.02.2015, 23:51
Помогаю со студенческими работами здесь

Узнать по какому итему Mainmenu произошел клик.
Доброго времени суток. Суть в том что элементы меню могут добавляться, и поэтому необходимо узнать какой именно элемент был кликнут.

Как в WM_COMMAND узнать, по какой из кнопок произошел клик?
Если у меня в клиентской области расположены девять дочерних окон(&quot;Button&quot;), как в WM_COMMAND узнать по какому из них произошел...

Как узнать по какому узлу произошел клик javafx 3d
Добрый день, нужна помощь! Есть объект состоящих из узлов axes и объединенных в группу content. Как можно узнать по какому ребру(узлу)...

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

Как получить значение атрибута кнопки на которой произошел клик?
function setCounter() { var btns= document.getElementsByClassName(&quot;myBtn&quot;); for (var i = 0; i &lt; btns.length; i++)...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru