У меня проблема с интерактивным div.Нажмите разные значки в div, в котором уже есть событие click
Это звуковое приложение Ionic 2. И у меня есть список разделов с разными значками в них.
Более точно, каждый div содержит два значка, которые можно щелкнуть, один для загрузки аудио, а другой - для воспроизведения.
Мне нужно щелкнуть по каждому значку, выполнить соответствующее поведение для каждого из них, но, в свою очередь, при нажатии на любую другую часть содержащего div, оно должно иметь такое же поведение, что и кнопка воспроизведения, воспроизводит аудио.
Проблема в том, что если я присоединю событие, нажмите на родительский div, это отменит меня другими событиями дочерних значков. Поэтому, когда вы нажимаете на значок загрузки или воспроизведения, он всегда воспроизводит звук, потому что я действительно нажимаю на родительский div.
Это мой код:
<div class="audioItem" ion-item *ngFor="let audio of audios" (click)="tryToPlay(audio)">
<img id="leftIcon" src="img/[email protected]">
<h3>{{ audio.name }}</h3>
<div *ngIf="audio.downloaded">
<img class="downloadIcon" src="img/[email protected]" (click)="clicked(audio)">
</div>
<div *ngIf="!audio.downloaded">
<img class="downloadIcon" src="img/[email protected]" (click)="clicked(audio)">
</div>
<div id="play" *ngIf="!audio.locked">
<img id="arrowIcon" src="img/[email protected]" (click)="tryToPlay(audio)">
</div>
<div *ngIf="audio.locked">
<img id="lockIcon" src="img/ui-lock100.png" (click)="tryToPlay(audio)">
</div>
</div>
Обратите внимание, что метод щелкнули() только для испытания чего-то, здесь будет какой-либо другой «скачать()» метод. Важно здесь знать, как разрешить щелчок значков детей.
Я не знал об этом. Я решил это, применив относительные и абсолютные позиции с css, что-то гораздо более надуманное, как я сказал в своем собственном ответе ниже ... но я думаю, что ваш способ решить его намного лучше, спасибо вам большое! –
Рад это слышать! :) – sebaferreras