определить, поддерживает ли браузер переопределение событий Правой Кнопкой Мыши


Я использую плагин контекстного меню jquery, и мне нужно определить, какие браузеры поддерживают это. Как это можно сделать?

Я слышал, что некоторые версии opera и safari не поддерживают это переопределение Правой Кнопкой Мыши

1 5

1 ответ:

Вы можете создать и запустить событие contextmenu вручную. Если вы зададите правильный обработчик, то сможете определить, вызывается он или нет.

Вот пример (использование jQuery для создания и наблюдения событий):

function testContextMenuEvent() {
  var supported = false;
  function handler(e) {
    supported = true;
    e.stopPropagation();
  }
  $(document).bind('contextmenu', handler);
  var evt = jQuery.Event("contextmenu");
  $(document).trigger(evt);
  $(document).unbind('contextmenu', handler);
  return supported;
}

Вот тестовая страница: http://jsfiddle.net/Hk4xA/6/

Edit2 : дом снова ударил. Я забыл, что createEvent полностью не работает на IE. Поэтому вместо этого я использовал jQuery и для создания событий.