|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.11.2016, 00:51 | #1 |
Форумчанин
Регистрация: 01.02.2010
Сообщений: 118
|
Как определить откуда клик пришел
Скажите как правильно реализовать такое.
Есть 2 блока Код HTML:
<div class="order order-1"> <div class="input-group input-group-order"> <span class="input-group-addon input-group-addon-order"><span class="otkyda">1</span></span> <a href="javascript:" class="btn-order-map" id="order-1"><i class="fa fa-map-marker"></i></a> <input type="text" name="otkyda" class="form-control form-control-order error" placeholder="Выберите адрес" id="autocomplete1"> </div> </div> <div class="order order-2"> <div class="input-group input-group-order"> <span class="input-group-addon input-group-addon-order"><span class="kyda">2</span></span> <a href="javascript:" class="btn-order-map" id="order-2"><i class="fa fa-map-marker"></i></a> <input type="text" name="kyda" class="form-control form-control-order error" placeholder="Выберите адрес" id="autocomplete2"> </div> </div> Пробовал таким образом но не работает. Код HTML:
document.body.onclick = function (e) { e = e || event; target = e.target || e.srcElement; if (target.tagName == "a" && target.id == "order-1") { return alert("good"); } else { return alert("fail"); } } |
28.11.2016, 01:16 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Как именно не работает-то?
Смотрите есть ли ошибки в консоли, смотрите что происходит в отладчике (или console.log(target)) И объявляйте переменные с var иначе они глобальные. Код:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
28.11.2016, 09:23 | #3 |
Форумчанин
Регистрация: 01.02.2010
Сообщений: 118
|
Функция работает только выводит "fail" в любых случаях даже при нажатие на ссылку и нужным ид.
|
28.11.2016, 09:31 | #4 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Смотрите что происходит в отладчике (поставьте точку остановки в функции) или console.log(target)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
28.11.2016, 11:33 | #5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
во-первых, а как Вы попадаете по ссылке с нужным id, если в вашем примере ссылка пустая?
js1.png p.s. ну и проверки по ID более чем достаточно. Если у Вас ID в DOM не уникально - значит, у Вас неверный HTML код, его нужно исправить так, чтобы ID однозначно идентифицировало элемент, иначе это не ID, а фигня какая-то! |
28.11.2016, 12:34 | #6 | |
Участник клуба
Регистрация: 21.10.2015
Сообщений: 1,361
|
Цитата:
Последний раз редактировалось Alar; 28.11.2016 в 13:14. Причина: Цензура! |
|
28.11.2016, 12:43 | #7 | |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Не верите спецификации?
https://www.w3.org/TR/html5/dom.html#the-id-attribute Цитата:
там классом типа "fa fa-map-marker" должны вставляться иконки (видимо автор использует Bootstrap и иконки из шрифта font awesome)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 28.11.2016 в 12:52. |
|
28.11.2016, 13:07 | #8 | |
Участник клуба
Регистрация: 21.10.2015
Сообщений: 1,361
|
Цитата:
|
|
28.11.2016, 13:21 | #9 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Все что?
document.getElementById и jQuery $(''#...") вернет только один, а не все. Что может не являться ожидаемым поведением (например хотел второй элемент, а получил первый) и непонятно зачем так запутывать код. Код же для людей, а люди ожидают, что ID уникальный.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 28.11.2016 в 13:24. |
28.11.2016, 13:22 | #10 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
come-on,может быть, расскажете о том, о чём намекаете.
про то, что ID должно быть уникально.. Расскажите, как должно быть правильно. да, точно, это я проглядел. Но, даже так, разве в этом случае клик получает не сам <i class="fa fa-map-marker"></i> ? если да, тогда в этом случае нужно проверять id родительского узла. ну, так, например: Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ListView. Определить в каком столбце сделан клик | Shouldercannon | Общие вопросы Delphi | 1 | 07.06.2015 19:25 |
Этому жесткому диску пришел конец ? | spawnnezo | Компьютерное железо | 1 | 16.01.2013 01:21 |
Откуда ошибки и как их исправить | M1naTo | Помощь студентам | 2 | 15.02.2012 12:08 |
[HELP] C; как показать откуда до куда? | AlexandrSN | Общие вопросы C/C++ | 1 | 11.06.2009 13:20 |