Добавить клик для каждого элемента массива - PullRequest
0 голосов
/ 07 июня 2019

Итак, моя проблема в том, что я хотел бы, чтобы скрипт щелкал по каждому классу после того, как он просто зарегистрировал его в консоли.

Я попытался добавить метод .click () после нескольких фрагментовкод, но не повезло.

Вот код ниже

var array = ['.button.color.color-41d841', '.button.color.color-dc0000', '.button.color.color-1e00e9', '.button.color.color-ff6f00'];
var interval = 1000; // how much time should the delay between two iterations be (in milliseconds)?
array.forEach(function(el, index) {
  setTimeout(function() {
    console.log(el);
  }, index * interval);
});
console.log('Loop finished.');

Он просто печатает класс элемента.

Решено

var array = ['.button.color.color-41d841', '.button.color.color-dc0000', '.button.color.color-1e00e9', '.button.color.color-ff6f00'];
var interval = 1000; // how much time should the delay between two iterations be (in milliseconds)?
array.forEach(function(el, index) {
  setTimeout(function() {
    console.log(el);
    $(el).click()
  }, index * interval);
});
console.log('Loop finished.');

Ответы [ 2 ]

0 голосов
/ 07 июня 2019

попробуйте, вам нужно найти элемент и нажать на него

var array = ['.button.color.color-41d841', '.button.color.color-dc0000', '.button.color.color-1e00e9', '.button.color.color-ff6f00'];
var interval = 1000; // how much time should the delay between two iterations be (in milliseconds)?
array.forEach(function (el, index) {
setTimeout(function () {
console.log(el);
document.querySelector(el).click()
}, index * interval);
});
0 голосов
/ 07 июня 2019

Вам необходимо вызвать приведенный ниже скрипт.

$ (document) .on ('click', el, function () {});

, потому что высвязывают событие клика динамически

 var array = ['.label-key', '.button.color.color-dc0000', '.button.color.color-1e00e9', '.button.color.color-ff6f00'];
var interval = 1000; // how much time should the delay between two iterations be (in milliseconds)?
array.forEach(function (el, index) {
$(document).on('click',el,function(){}); 
setTimeout(function () {
console.log(el);
}, index * interval);
});
console.log('Loop finished.');
...