Size: a a a

JavaScript Noobs — сообщество новичков

2020 February 12

VH

Vladyslav Hrehul in JavaScript Noobs — сообщество новичков
и потом дальше работаешь с обычной жс моделью
источник

V

Vorug in JavaScript Noobs — сообщество новичков
<div class="main">
   <img ... >
   <span .... >
</div>

<script>
   var main = document.querySelector('.main');
   document.querySelector('html').addEventListener('click', function(e) {
       if (e.target == main) {
           alert(...);
       }
   });
</script>

подскажите плиз как сделать чтобы алерт вылетал если клик происходит по main и любому дочернему элементу в нём? сейчас он вылетает только если попал в пустое место в main, то есть img и span не участвуют
источник

VH

Vladyslav Hrehul in JavaScript Noobs — сообщество новичков
Vladimir Yefremov
не получается так -
ЖС получает от бэка Аджаксом ИДшки, которые надо вставить в эту строку
так если аджаксом получаешь, то причем тут ларавель??
источник

VY

Vladimir Yefremov in JavaScript Noobs — сообщество новичков
Vladyslav Hrehul
я незнаком с ларавелом, но ищи тогда соотвестие этому - @Html.Raw(Json.Encode(Model)) (так енкодится с шарпа на жс)
понял, спасибо!
источник

VY

Vladimir Yefremov in JavaScript Noobs — сообщество новичков
Vladyslav Hrehul
так если аджаксом получаешь, то причем тут ларавель??
роуты Ларавел преобразует в соответствующие ссылки...

я уже понял - надо это все на бэке сформировать и предать в ЖС готовым
источник

y

yandexphp in JavaScript Noobs — сообщество новичков
Vladimir Yefremov
Мне нужно "склеить" строку из Ларавел с ЖС

написал такое:
link.setAttribute('href', "{{route('admin.partner.referral.index', " + row.user_id + ")}}");

здесь route('admin.partner.referral.index', " + row.user_id + ") - Laravel должен создать маршрут, в котором вместо " + row.user_id + " в обычно маршруте указывается параметр, а тут я попытался вставить этот параметр из переменной ЖС  так, как видите. Но Ларе это не нравится...
Ларавел создает этот маршрут так http://deposits/admin/partner/user/%20+%20row.user_id%20+%20/referral
а реально там должен подставляться ИД юзера

это как можно решить?
у laravel же есть типо шаблонизаторов
источник

y

yandexphp in JavaScript Noobs — сообщество новичков
источник

VY

Vladimir Yefremov in JavaScript Noobs — сообщество новичков
спасибо!
источник

VH

Vladyslav Hrehul in JavaScript Noobs — сообщество новичков
Vladimir Yefremov
роуты Ларавел преобразует в соответствующие ссылки...

я уже понял - надо это все на бэке сформировать и предать в ЖС готовым
так можно и без ларавеля, жсом их выгенерить
источник

V

Vorug in JavaScript Noobs — сообщество новичков
Vorug
<div class="main">
   <img ... >
   <span .... >
</div>

<script>
   var main = document.querySelector('.main');
   document.querySelector('html').addEventListener('click', function(e) {
       if (e.target == main) {
           alert(...);
       }
   });
</script>

подскажите плиз как сделать чтобы алерт вылетал если клик происходит по main и любому дочернему элементу в нём? сейчас он вылетает только если попал в пустое место в main, то есть img и span не участвуют
есть идеи?
источник

VY

Vladimir Yefremov in JavaScript Noobs — сообщество новичков
Vorug
есть идеи?
вариант - дать мэйну z-index выше,
источник

V

Vorug in JavaScript Noobs — сообщество новичков
Vladimir Yefremov
вариант - дать мэйну z-index выше,
не помогает
источник

y

yandexphp in JavaScript Noobs — сообщество новичков
Vorug
<div class="main">
   <img ... >
   <span .... >
</div>

<script>
   var main = document.querySelector('.main');
   document.querySelector('html').addEventListener('click', function(e) {
       if (e.target == main) {
           alert(...);
       }
   });
</script>

подскажите плиз как сделать чтобы алерт вылетал если клик происходит по main и любому дочернему элементу в нём? сейчас он вылетает только если попал в пустое место в main, то есть img и span не участвуют
Попробуй дать стиль pointer-events: none
источник

y

yandexphp in JavaScript Noobs — сообщество новичков
для дочерних элементов :D
источник

V

Vorug in JavaScript Noobs — сообщество новичков
yandexphp
Попробуй дать стиль pointer-events: none
помогло, благодарю!
источник

y

yandexphp in JavaScript Noobs — сообщество новичков
Vorug
помогло, благодарю!
теперь новая проблема =)
- ты не сможешь дать какое либо событие для взаимодействия с дочками через js
источник

y

yandexphp in JavaScript Noobs — сообщество новичков
Другой вариант решения:
берешь поднимаешься выше и проверяешь есть ли там твой main че-то там в дереве
источник

V

Vorug in JavaScript Noobs — сообщество новичков
yandexphp
теперь новая проблема =)
- ты не сможешь дать какое либо событие для взаимодействия с дочками через js
хмм может и не прийдётся, а что нет решения чисто на скрипте чтобы включить все дочерние элементы?
источник

y

yandexphp in JavaScript Noobs — сообщество новичков
target === main || target.closest(main) что-то в этом духе
источник

V

Vorug in JavaScript Noobs — сообщество новичков
yandexphp
target === main || target.closest(main) что-то в этом духе
понял, буду думать, спасибо
источник