Как работает «Копировать расположение изображения» в контекстном меню Firefox? - PullRequest
0 голосов
/ 31 марта 2012

Я создаю приложение, в котором мне нужно добавить новый элемент меню, вызываемый правой кнопкой мыши, который будет извлекать URL-адрес изображения и публиковать его где-нибудь.Можно ли сделать обе вещи с помощью одного пункта меню?Спасибо заранее

1 Ответ

1 голос
/ 31 марта 2012

Я не верю, что есть какой-либо способ добавить контекстные меню в обычное меню правой кнопки мыши без установки надстройки к этому браузеру.

Можно добавить событие щелчка мышью вкаждое рассматриваемое изображение и проверьте возвращаемый объект события.

var imageSrcInQuestion = "";
var images = document.getElementsByTagName("img");
for(var i = 0, l = images.length; i < l; i++){
    images[i].addEventListener("mousedown", function(event){
        if(event.which == 3){
            // this image has been right clicked on so capture it's data
            imageSrcInQuestion = this.src;
        }
    });
}

Затем просто установите событие click в пользовательской кнопке контекстного меню, чтобы опубликовать переменную imageSrcInQuestion, где бы она ни требовалась.

Если у вас еще не настроено пользовательское контекстное меню, я бы предложил добавить в документ событие mousedown, а затем отобразить div с вашими элементами контекстного меню в расположении значений event.clientX и event.clientY.

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