Вообще не шарю - Нужно просто, чтобы два кода работали вместе.
Есть два кода, которые работают в отдельности, но ни вместе. И это очень печально :(
Первый:
/* Копирование содержимого ячеек, по клику */
(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, время: 00:25. |