@secretsergey

Как реализовать имитацию 3 кликов после нажатия на кнопку?

Добрый день. Суть вопроса такова, имеется 4 кнопки, требуется после клика на первую автоматически имитировать клики по остальным.
<button id="button-main"></button>
<button id="button-1"></button>
<button id="button-2"></button>
<button id="button-3"></button>

Пока сообразил только так и то не работает. + требуется прикрутить setTimeout (чтобы клики были в порядке очереди)
<script type="text/javascript">
$('#button-main').click(function(){
$('#button-1').click();
$('#button-2').click();
$('#button-3').click();
});
</script>
  • Вопрос задан
  • 362 просмотра
Пригласить эксперта
Ответы на вопрос 2
XXXXPro
@XXXXPro
Fullstack Web developer
Можно попробовать так:
$('#button-main').click(function(){
  $('#button-1').trigger("click");
  $('#button-2').trigger("click");
  $('#button-3').trigger("click");
});

Если не поможет, то разбираться с объектом event. Будет что-то примерно такое:
var event = document.createEvent("MouseEvents");
        event.initEvent("click", true, true); 
        event.synthetic = true; 
        document.getElementById('button-1').dispatchEvent(event, true);
Ответ написан
@secretsergey Автор вопроса
При загрузке страницы с таким кодом все кнопки прокликиваются отлично.
<script type="text/javascript">
$(document).ready(function(){
  setTimeout(function(){
  $('#button-main').trigger('click');
  },2000);
  setTimeout(function(){
  $('#button-1').trigger('click');
  },3000);
  setTimeout(function(){
  $('#button-2').trigger('click');
  },4000);
  setTimeout(function(){
  $('#button-3').trigger('click');
  },5000);
 });
</script>
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы