получить координаты мыши через расширение Chrome - PullRequest
6 голосов
/ 26 июня 2011

Мне любопытно узнать, есть ли способ получить координаты мыши через расширение Chrome, а затем использовать эти координаты, чтобы проверить, щелкнул ли человек в этой позиции?

Ответы [ 4 ]

13 голосов
/ 26 июня 2011

Получить координаты мыши очень просто, поместите это в скрипт содержания :

document.onmousemove = function(e)
{
    var x = e.pageX;
    var y = e.pageY;
    // do what you want with x and y
};

По сути, мы назначаем функцию событию onmousemove всей страницыи получение координат мыши из объекта события (e).

Однако я не совсем уверен, что вы подразумеваете под этим:

, затем используйте эти координатыпроверить, нажал ли человек в этой позиции?

Хотите проверить, нажимает ли пользователь что-то вроде кнопки?В этом случае вы можете просто подписать событие на эту кнопку (или любой другой элемент), например, так:

document.getElementById("some_element").onclick = function(e)
{
    alert("User clicked button!");
};

Для записи всех щелчков мыши и их местонахождения:

document.onclick = function(e)
{
    // e.target, e.srcElement and e.toElement contains the element clicked.
    alert("User clicked a " + e.target.nodeName + " element.");
};

Примечаниечто координаты мыши по-прежнему доступны в объекте события (e).

Если вам нужны координаты, когда пользователь щелкает произвольное местоположение, это помогает:

document.onclick = function(e)
{
    var x = e.pageX;
    var y = e.pageY;
    alert("User clicked at position (" + x + "," + y + ")")
};
1 голос
/ 30 ноября 2016

В своих проектах я поместил этот простой скрипт jQuery в отдельный файл для проверки координат x и y. Я могу просто включить и выключить его с помощью переменной trackingMouse.

// this lets you click anywhere on the page and see the x and y coordinates
let trackingMouse = true;

$(document).ready(() => {
  $(document).on('click', (e) => {
    if (trackingMouse) {
      let x = e.pageX;
      let y = e.pageY;
      console.log(`The x coordinate is: ${x}`);
      console.log(`The y coordinate is: ${y}`);
    }
  });
});
1 голос
/ 11 апреля 2015

Я так устал искать ответ на этот вопрос каждые несколько недель, поэтому я создал быстрый сценарий. Это требует jquery для выбора dom, добавления dom и редактирования стиля ... это можно легко изменить, но я уже слишком много работал на этой неделе.

(function() {
    'use strict';
    var $toolTip = $('<div/>');
    $toolTip.addClass('customTooltip-rsd')
        .css({
            position: 'absolute',
            display: 'inline-block',
            'font-size': '22px',
            backgroundColor: '#000',
            color: '#ffffff',
            'z-index': 9999999999,
            padding: '10px',
            'word-spacing': '10px',
            'border-radius': '50%',
            width: 100,
            height: 100,
            'line-height': '100px',
            'text-align': 'center',
            'font-weight': 'bold'
        })
    ;
    $(document.body).append($toolTip);
    $(window).on('mousemove', function(e) {
        var posX = e.pageX;
        var posY = e.pageY;
        $toolTip.text(posX + ',' + posY).css({
            top: posY + 'px',
            left: posX + 'px'
        });
    });
}());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
0 голосов
/ 03 марта 2015

Получив координаты мыши, вы можете использовать атрибут "target" со значением "_blank", чтобы открыть URL в новой вкладке.
<a href="your url goes here" target="_blank">URL Display Name</a>

Если вы используете какой-либоJavascript Framework, вы можете предоставить событие нажатия и в его контроллере, вы можете использовать метод навигации по умолчанию для навигации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...