Как обрабатывать два события клика в Javascript - PullRequest
1 голос
/ 04 мая 2019

Я хочу сделать два события клика в Javascript, 1 за другим. Код первого клика работает нормально, но второго клика не происходит. Для второго щелчка окно всплывает через 0,5 секунды.

Я использую приведенный ниже код, я новичок в JS и не знаю, в чем проблема

var x = document.getElementsByClassName('artdeco-button--secondary');
for (var i = 0; i < x.length; i++ ){
    x[i].addEventListener('click',function(){

        document.getElementsByClassName('ml1').click();
    });

}

Ответы [ 2 ]

2 голосов
/ 04 мая 2019

Вы должны использовать dblclick как событие в addEventListener вместо click

0 голосов
/ 04 мая 2019
// you can do the same as follows
var buttons = document.querySelectorAll('.artdeco-button--secondary');

for (const button of buttons) {
  button.addEventListener('click', function() {
    // but here, you are trying to apply
    // an event to a list of Elements with getElementsByClassName
    // if you want to execute a click event to an specific element
    // you can do it as follows
    document.querySelector('#elementId').click();
    // or using the index of the element in an array
    const target = document.querySelectorAll('.target')[0];
    target.click();
    // or iterating the list to apply it to each element
    const targets = document.querySelectorAll('.target');
    for (const target of targets) {
      target.click();
    }
  });
}

...