Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.01.2022, 15:02
Профессор
Отправить личное сообщение для Ubivectel Посмотреть профиль Найти все сообщения от Ubivectel
 
Регистрация: 01.12.2020
Сообщений: 166

Позиционировать сообщение относительно курсора.
Hello, world!

Имеем элемент .K_copy при клике на который копируется содержимое дива. Добавил код который выводит сообщение "скопировано" вот скрипт:

$("#K_copy").show(400, function () {
            setTimeout(function () {
                $("#K_copy").hide(300);
            }, 800);
        });


Единственное чего не хватает для счастья, что бы сообщение выводилось рядом с курсором или точнее в том месте где был клик, сейчас пришлось задать абсолютное позиционирование, но как-то это не по феншую
Ответить с цитированием
  #2 (permalink)  
Старый 17.01.2022, 15:04
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,205

Ubivectel, оно?
https://ru.stackoverflow.com/questio...урсором
Ответить с цитированием
  #3 (permalink)  
Старый 17.01.2022, 15:17
Профессор
Отправить личное сообщение для Ubivectel Посмотреть профиль Найти все сообщения от Ubivectel
 
Регистрация: 01.12.2020
Сообщений: 166

Оно самое, только хоть убей пока не пойму как и куда это вписать, синтаксис мое очень слабое место )))
Ответить с цитированием
  #4 (permalink)  
Старый 17.01.2022, 15:29
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,205

Сообщение от Ubivectel
только хоть убей пока не пойму как и куда это вписать
В обработку клика...
Там есть событие мыши - можно узнать координаты курсора. Далее создается элемент, вставляется в нужного родителя, позиционируется по тем координатам и в него выводится нужное содержимое.
Ответить с цитированием
  #5 (permalink)  
Старый 17.01.2022, 15:31
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Сообщение от Ubivectel
в том месте где был клик,
https://javascript.ru/forum/events/6...tml#post447668
Ответить с цитированием
  #6 (permalink)  
Старый 18.01.2022, 17:06
Профессор
Отправить личное сообщение для Ubivectel Посмотреть профиль Найти все сообщения от Ubivectel
 
Регистрация: 01.12.2020
Сообщений: 166

На исходе второй день мозголомки, хоть убей не получается корректно вписать ни первый ни второй пример, либо ломаю код, либо не работает, если я правильно понял это:

if (e.pageX + hint.offsetWidth < document.body.offsetWidth) {
    hint.style.top = e.pageY + 10 + 'px';
    hint.style.left = e.pageX + 10 + 'px';
} else {
    hint.style.top = e.pageY + 10 + 'px';
    hint.style.left = e.pageX - hint.offsetWidth - 10 + 'px';
}


Нужно как-то вписать вот в это:

document.addEventListener("click", ({ target }) => {
    if (target = target.closest('.K_copy')) {
        target = target.closest('.KIDE_msg_top')
        let clon = target.cloneNode(true);
        clon.querySelectorAll(".KIDE_quote").forEach(el => el.remove()); 
        let text = clon.textContent; 
        navigator.clipboard.writeText(text);

        $("#K_copy").show(400, function () {

            setTimeout(function () {
                $("#K_copy").hide(300);
            }, 800);
        });
    }
});


Как только не перепробовал, очень хотелось справиться самому
Ответить с цитированием
  #7 (permalink)  
Старый 18.01.2022, 17:28
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Ubivectel,
сделайте минимальный макет или ждите телепатов.
Ответить с цитированием
  #8 (permalink)  
Старый 18.01.2022, 17:42
Профессор
Отправить личное сообщение для Ubivectel Посмотреть профиль Найти все сообщения от Ubivectel
 
Регистрация: 01.12.2020
Сообщений: 166

Понял, вот кнопочка:

<i class="fa fa-clipboard K_copy" title="Копировать" aria-hidden="true"></i>


Вот то что она копирует, хотя это наверное не нужно:

<div id="KIDE_id_526841" class="KIDE_msg_top"><span class="KIDE_msg_hour"> 19:11 -</span> <span style="cursor: pointer" title="18-1 19:11:07" oncontextmenu="event.preventDefault();kide.mensaje('nikname',0,526841,'','18-1 19:11:07','4f0cd4f2e29c3de4a13ef858f2e0b7e0',3,'http://www.gravatar.com/avatar/438c755fdaef894d49d469da93a7e479?s=50&amp;d=wavatar')" class="KIDE_guest"><span style="cursor: pointer" title="18-1 19:11:07" onclick="kide.insertSmile('Оляпка_4454, ')" class="KIDE_guest">hikname</span>: <span class="KIDE_dc_guest KIDE_msg"> Текст сообщения </span>
</span></div>


Вот HTML самого сообщения:

<noindex class="K-copy">
    <div id="K_copy" style="display: none;">
        Скопировано!
    </div>
</noindex>
Ответить с цитированием
  #9 (permalink)  
Старый 18.01.2022, 17:45
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,743

Сообщение от Ubivectel
 navigator.clipboard.writeText(text);
На http работать не будет.
Ответить с цитированием
  #10 (permalink)  
Старый 18.01.2022, 17:49
Профессор
Отправить личное сообщение для Ubivectel Посмотреть профиль Найти все сообщения от Ubivectel
 
Регистрация: 01.12.2020
Сообщений: 166

Сообщение от voraa Посмотреть сообщение
На http работать не будет.
На https работает )))
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Баг в браузерах со сменой курсора spo Javascript под браузер 1 17.01.2017 23:35
Элемент (position:absolute) сдвигается относительно окна, а не родителя MishaUA Events/DOM/Window 2 11.11.2015 04:42
Нужно всплывающее сообщение для сайта bursnabby Работа 4 30.05.2015 20:21
Система всплывающих сообщений ruslan_mart Ваши сайты и скрипты 32 27.05.2015 21:28
Получить координаты курсора в текстовом поле в пикселях prike Events/DOM/Window 4 23.05.2013 04:35