Вообще не шарю - Нужно просто, чтобы два кода работали вместе.
Есть два кода, которые работают в отдельности, но ни вместе. И это очень печально :(
Первый: /* Копирование содержимого ячеек, по клику */ (function(){ let tds = document.querySelectorAll('span, div.a19') let tds_length = tds.length for(let i = 0; i < tds_length; i++){ tds[i].addEventListener('click', copyFanc) } function copyFanc(event){ let element = event.target || event.srcElement; let text = element.innerText navigator.clipboard.writeText(text).then(function() { console.log('Текст скопирован!') }, function(err) { console.error('Ошибка копирования: ', err) }); } })() Второй: /* Копирование скрытого текста, по клику */ initAutoCopy( document.querySelectorAll('.copy') ); function initAutoCopy(elems){ let input = document.createElement('input'); input.style.display = "none"; document.body.appendChild(input); for( let i = 0; i < elems.length; i++ ){ elems[i].addEventListener('click', function(){ input.style.display = "block"; input.value = this.dataset.copy; input.select(); document.execCommand('copy'); input.style.display = "none"; }); } } ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Ещё есть код, который я не могу продублировать, для других классов. Если скопировать этот код и заменить в нём классы, то дубль работать не будет. (Или оба не будут, не помню уже). /* Скрытия / Показ блока */ let a18 = document.querySelectorAll('.a18'); let a17 = document.querySelectorAll('.a17'); for( let i = 0; i < a18.length; i++ ){ a18[i].addEventListener('click', function(){ a17[i].classList.toggle('visi'); }); } |
Если элементы одни и те же - каким образом вы хотите чтобы они "работали вместе"? Оба пишут буфер обмена текст, первый - один, второй - другой, кто последний записал - тот и молодец.
Во втором случае всё должно работать при смене классов, хоть это и говнокод: элементов новых классов должно быть обязательно равное количество, чтоб порядковый номер в документе одного точно соответствовал порядковому номеру второго. |
Так всё-же, что изменить в коде?
Или предлагаете мне JavaScript выучить, чтобы такую банальную проблему решить? |
На вопрос то ответьте: каким образом вы хотите чтобы они "работали вместе"?
В буфер должно класться сложение обоих строк? В каком порядке? Или клики происходят по разным элементам, просто один вложен в другой? |
Спасибо, я понял что не учёл - span первого кода, имел класс второго.
Вот они и конфликтовали. А почему третий код не работал, я сам не понял. Давно было. А сейчас воспроизвёл. И всё работает :blink: Спасибо ещё раз! |
Часовой пояс GMT +3, время: 07:29. |