Показать сообщение отдельно
  #12 (permalink)  
Старый 19.08.2023, 21:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,148

Сообщение от Ubivectel
хотелось бы свайп по блоку,
let touch_yy, touch_xx;
document.addEventListener("touchstart", (event) => {
    let target = event.target;
    if (target = target.closest('.KIDE_quote')) {
        touch_yy = event.changedTouches[event.changedTouches.length - 1].clientY;
        touch_xx = event.changedTouches[event.changedTouches.length - 1].clientX;
    }
})
document.addEventListener("touchend", (event) => {
    let target = event.target;
    if (target = target.closest('.KIDE_quote')) {
        let swap = (Math.abs(touch_yy - event.changedTouches[event.changedTouches.length - 1].clientY) > 30 || Math.abs(touch_xx - event.changedTouches[event.changedTouches.length - 1].clientX) > 30)
        if (swap) {
            target = target.closest('.KIDE_msg_top')
            let clon = target.cloneNode(true); // Делаем копию узла с потомками
            clon.querySelectorAll(".KIDE_quote").forEach(el => el.remove()); // Удаляем из копии все span.KIDE_msg
            let text = clon.textContent.trim(); // Берем текст из клона
            if (text.length > 60) text = text.slice(0, 60) + '...'
            kide.insertSmile(`[QUOTE]${text}[/QUOTE]\n`); // ставляем текст в инпут
        }
    }
})
Ответить с цитированием