@anton99zel
29а класс средней школы №7

Как сделать, чтобы кликнув div произошел клик на кнопку?

Уважаемые знатоки, подскажите:
Есть такой код
spoiler
function show_hide(id){
  if (document.getElementById('block_primerka').style.opacity == "0")
{
    document.getElementById(id).style.display = 'none';
    document.getElementById('block_primerka').style.display = 'block';
    document.getElementByClassName('zoomContainer').style.display = 'none';
}
  else
    {
    document.getElementById(id).style.display = 'block';
    document.getElementById('block_primerka').style.display = 'none';
    document.getElementById('block_primerka').style.opacity = '0';
    document.getElementByClassName('zoomContainer').style.display = 'block';
}
}

и
spoiler
<div class="cartochka-carousel-nav-container">
// фото превью с множеством дивок
</div>

Как сделать, чтобы кликнув в любое место ограниченное дивом div class="cartochka-carousel-nav-container" произошел клик на кнопку
<a id="buttonID" onclick="show_hide('block_cart')" class="btn-image-big"></a>

только если
if (document.getElementById('block_primerka').style.opacity == "0")

иначе не имитировать клик.
  • Вопрос задан
  • 539 просмотров
Решения вопроса 1
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
Зачем делать клик на кнопку, если можно взять метод из кнопки в onclick, и выполнить его?
document.querySelector('.cartochka-carousel-nav-container').addEventListener('click', function() {
   if (document.getElementById('block_primerka').style.opacity == "0") {
      show_hide('block_cart')
   }
});

Если уж так надо кликнуть по элементу, то вот так кликается
document.getElementById('buttonID').click()
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Ryzhakov
var event = new Event("click");
document.getElementById('buttonID').dispatchEvent(event);

это вызови по клику на div
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
25 нояб. 2024, в 21:54
20000 руб./за проект
25 нояб. 2024, в 21:39
3000 руб./за проект
25 нояб. 2024, в 21:34
7000 руб./за проект