1. Приветствую гостей и пользователей нашего форума! Первый раз вы у нас или же давно участвуете в жизни ресурса, хочу напомнить несколько моментов.

    1) Пользуемся поиском по форуму! Зачастую информация может находиться не по разделу!

    2) Раздел ИНФО-продуктов относительно новый, но имеем уже более 3000 высококлассных материалов (пользуемся сортировкой по прификсам).

    3) И самое важное, КАК КАЧАТЬ БЕЗ ОГРАНИЧЕНИЙ, вся информация находится по этой ссылке КУПИТЬ VIP

    4) Временная акция, получи +5 постов за вступление в нашу группу "Вконтакте" Более подробно ТУТ

    5) Веди активную жизнь на форуме и получай рубли на личный счёт!

    Скрыть объявление
  2. На нашем форуме Null-Prog действует серьёзное правило касательно размещения материалов!

    ДЛЯ РЕЛИЗЁРОВ: категорически запрещается выкладка материалов на файлообменники типа Deposit, letitbit и другие, требующие просмотров рекламы, обрезающие скорость и тд. Нарушителям, первые 2 раза предупреждения, далее БАН. Тему по этому поводу можно посмотреть ТУТ

    Скрыть объявление
  3. В тестовом режиме на нашем форуме открыт онлайн конструктор сайтов. Вы можете попробовать создать свой сайт у НАС, интуитивно понятный интерфейс, переведёт на 95%, быстрый экспорт проекта, от вас только перетаскивать элементы и вставить в них необходимый текст!

    Все вопросы ТУТ

    Скрыть объявление

  4. Скрыть объявление
  5. Уважаемые форумчане, открывается новый раздел форума, посвящённый ремонту и эксплуатации автомобилей. Просмотреть его можно ТУТ

    Так как раздел новый, информация будет пополнять каждый день. Если есть какие либо замечания по этому разделу, отписываемся в соответствующий раздел форума, либо в личку.

    Напоминаю, сообщения в разделе АВТО не учитываются, общение не ограничено.

    Скрыть объявление
  6. Объявляется набор Модераторов на различные раздел форума, свои заявки можно оставлять в ЭТОМ разделе, перед оставлением заявки рекомендуется ознакомиться с ПРАВИЛАМИ для модераторов.

Меню для правой клавиши мыши в браузере

Тема в разделе "JavaScript", создана пользователем Sam Jack, 18 май 2015.

  1. Sam Jack

    Sam Jack Капитан-Узурпатор
    Команда форума Созидатель

    Регистрация:
    5 май 2015
    Сообщения:
    13.755
    Симпатии:
    4.725
    Нашел у себя на компе , позволяющий навесить функцию на клик правой кнопки мыши в браузере. Проверил - вроде работает .

    JS :
    Код:
    // Функция для определения координат указателя мыши
    function defPosition(event) {
          var x = y = 0;
          if (document.attachEvent != null) { // Internet Explorer & Opera
                x = window.event.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
                y = window.event.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
          } else if (!document.attachEvent && document.addEventListener) { // Gecko
                x = event.clientX + window.scrollX;
                y = event.clientY + window.scrollY;
          } else {
                // Do nothing
          }
          return {x:x, y:y};
    }
    function menu(type, evt) {
        // Блокируем всплывание события contextmenu
        evt = evt || window.event;
        evt.cancelBubble = true;
        // Показываем собственное контекстное меню
        var menu = document.getElementById("contextMenuId");
        var html = "";
        switch (type) {
            case (1) :
                html = "Меню для первого ДИВа";
                html += "<br><a href='#'>Первая функция</a>";
                html += "<br><a href='#'>Вторая функция</a>";
                html += "<br><a href='#'>Третья функция</a>";
            break;
            case (2) :
                html = "Меню для второго ДИВа";
                html += "<br><i>(пусто)</i>";
            break;
            default :
                // Nothing
            break;
        }
        // Если есть что показать - показываем
        if (html) {
            menu.innerHTML = html;
            menu.style.top = defPosition(evt).y + "px";
            menu.style.left = defPosition(evt).x + "px";
            menu.style.display = "";
        }
        // Блокируем всплывание стандартного браузерного меню
        return false;
    }
    // Закрываем контекстное при клике левой или правой кнопкой по документу
    // Функция для добавления обработчиков событий
    function addHandler(object, event, handler, useCapture) {
        if (object.addEventListener) {
            object.addEventListener(event, handler, useCapture ? useCapture : false);
        } else if (object.attachEvent) {
            object.attachEvent('on' + event, handler);
        } else alert("Add handler is not supported");
    }
    addHandler(document, "contextmenu", function() {
        document.getElementById("contextMenuId").style.display = "none";
    });
    addHandler(document, "click", function() {
        document.getElementById("contextMenuId").style.display = "none";
    });
    Вызывается так :
    Код:
    <div oncontextmenu="return menu(1, event);" style="height:100px; border:1px solid red; background-color:#FFCCCC;">Кликни правой кнопкой</div>
    <div oncontextmenu="return menu(2, event);" style="height:100px; border:1px solid blue; background-color:#CCCCFF;">Кликни правой кнопкой</div>
    В код страницы необходимо добавить контейнер для меню, если решите сделать именно меню.
    Код:
    <!-- Контер для собственного контекстного меню. По умолчания - скрыт. -->
    Пример кому интересно :
    
    
    
    
    
    чуть не забыл ( кому не понятно ) надо вставить в .html файл и открыть в браузере
     
    Метки:

Поделиться этой страницей

iHax Community
Рейтинг@Mail.ru Яндекс.Метрика мониторинг сайтов
Форум программного обеспечения/
Загрузка...