Как сделать так что перекрестье следовало за стрелочкой мыши при этом когда нажимаешь лкм нажимало там где находится перекрестье а не курсор.html, js?

Ссылка скопирована
8 апреля 2026 1 ответ

Нужно что бы в браузер перекрестье следовало за курсором и при нажатие лкм нажимало там где находится перекрестье а не курсор. Может кто подсказать как это реализовать?

Дополнительно:

перекрестье следовало за курсором

при нажатие лкм нажимало там где находится перекрестье а не курсор

Так если одно следует за другим, то какая разница, если курсор и перекрестие в одном месте?

  • Вадим, Я наверное не правельно выразил свои мысли. Мне надо что бы перекрестье двигалось к курсору только при зажатие пкм и при нажатии лкм или иных клавиши нажатие было в той области где перекрестье.
  • Plagiat2287, уже намного лучше. Идём дальше.
    Что значит "клик там где перекрестие"? То есть что именно должно происходить? У вас там какой то холст канвас или тот элемент, который будет под перекрестием должен отправить событие клик?
  • Вадим, Скорее что-то в духе старых шутеров или браузерных игр где перекрестье для стрельбы двигается стрелочками. По сути надо так же только с помощью пкм.
  • Plagiat2287, хорошо, но на вопрос это не отвечает.
  • Ответы:

    https://techrocks.ru/2022/01/25/custom-mouse-curso...

    Делаете кастомный курсор и редактируете курсор так что бы клик был на этом месте.

    cursor:crosshair
    https://developer.mozilla.org/ru/docs/Web/CSS/cursor

    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Антон С. Ответ

    Для того чтобы реализовать данное поведение на странице, необходимо использовать JavaScript. Мы можем создать функцию, которая будет следить за движением мыши и перемещать крестик за стрелкой мыши. При клике левой кнопкой мыши, крестик будет нажимать на место, где находится курсор, а не где находится сам крестик.

    Приведу пример кода на HTML и JavaScript, который реализует описанное поведение:

    ```html

    Move Crosshair Example

    #crosshair {
    position: absolute;
    width: 20px;
    height: 20px;
    background-color: red;
    pointer-events: none;
    }

    const crosshair = document.getElementById('crosshair');

    document.addEventListener('mousemove', (e) => {
    crosshair.style.left = e.clientX - 10 + 'px';
    crosshair.style.top = e.clientY - 10 + 'px';
    });

    document.addEventListener('click', (e) => {
    crosshair.style.left = e.clientX - 10 + 'px';
    crosshair.style.top = e.clientY - 10 + 'px';
    });

    ```

    В данном примере мы создаем элемент с id "crosshair", который представляет из себя крестик. С помощью JavaScript мы отслеживаем движение мыши и перемещаем крестик за ней. При клике мыши, крестик перемещается и нажимает на место, где находится курсор.

    Таким образом, данный код позволит реализовать желаемое поведение на странице.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно