Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.11.2019, 18:35
Аватар для DENERIK
Аспирант
Отправить личное сообщение для DENERIK Посмотреть профиль Найти все сообщения от DENERIK
 
Регистрация: 28.11.2014
Сообщений: 31

Вообще не шарю - Нужно просто, чтобы два кода работали вместе.
Есть два кода, которые работают в отдельности, но ни вместе. И это очень печально

Первый:

/* Копирование содержимого ячеек, по клику */

(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');
  });
}

Последний раз редактировалось DENERIK, 17.11.2019 в 21:27.
Ответить с цитированием
  #2 (permalink)  
Старый 16.11.2019, 21:31
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,491

Если элементы одни и те же - каким образом вы хотите чтобы они "работали вместе"? Оба пишут буфер обмена текст, первый - один, второй - другой, кто последний записал - тот и молодец.

Во втором случае всё должно работать при смене классов, хоть это и говнокод: элементов новых классов должно быть обязательно равное количество, чтоб порядковый номер в документе одного точно соответствовал порядковому номеру второго.
__________________
29375, 35

Последний раз редактировалось Aetae, 16.11.2019 в 21:36.
Ответить с цитированием
  #3 (permalink)  
Старый 17.11.2019, 14:30
Аватар для DENERIK
Аспирант
Отправить личное сообщение для DENERIK Посмотреть профиль Найти все сообщения от DENERIK
 
Регистрация: 28.11.2014
Сообщений: 31

Так всё-же, что изменить в коде?

Или предлагаете мне JavaScript выучить, чтобы такую банальную проблему решить?
Ответить с цитированием
  #4 (permalink)  
Старый 17.11.2019, 15:41
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,491

На вопрос то ответьте: каким образом вы хотите чтобы они "работали вместе"?
В буфер должно класться сложение обоих строк? В каком порядке?
Или клики происходят по разным элементам, просто один вложен в другой?
__________________
29375, 35
Ответить с цитированием
  #5 (permalink)  
Старый 17.11.2019, 17:34
Аватар для DENERIK
Аспирант
Отправить личное сообщение для DENERIK Посмотреть профиль Найти все сообщения от DENERIK
 
Регистрация: 28.11.2014
Сообщений: 31

Спасибо, я понял что не учёл - span первого кода, имел класс второго.
Вот они и конфликтовали.

А почему третий код не работал, я сам не понял.
Давно было.
А сейчас воспроизвёл. И всё работает

Спасибо ещё раз!

Последний раз редактировалось DENERIK, 17.11.2019 в 17:36.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно забрать часть сайта на свой и чтобы всё работало EightShift Общие вопросы Javascript 3 05.12.2014 11:37