Показать сообщение отдельно
  #1 (permalink)  
Старый 03.04.2014, 15:37
Новичок на форуме
Отправить личное сообщение для Faantoom Посмотреть профиль Найти все сообщения от Faantoom
 
Регистрация: 14.03.2014
Сообщений: 4

Снять ивент с элемента не имея доступа к функции-хэндлеру
Всем доброго времени суток.
Вновь вынужден обратиться сюда за помощью.

Имеется следующий код:
(function(){
    var el = document.getElementById("text_input");
    el.onpaste = el.ondrop = el.oncontextmenu = M;
    function M(){
       return false;
    }
})();

Задача - разрешить контекстное меню и копипаст (снять блокирующие ивенты).
Изюминка в том, что редактировать данный код нельзя, поскольку я пишу клиентский плагин, который подключается к странице, а доступа к серверу нет.
Можно лишь добавить код к имеющемуся, но из-за того что он заключен в функцию, доступа к M() чтобы воспользоваться removeEventListener нет.
Переопределить функцию через .oncontextmenu тоже не получилось.
Была идея с клонированием элемента и удалением старого, это снимет с него все ивенты, но кроме блокирующих на нём висит еще несколько установленных таким же образом, которые необходимо оставить.

Что подскажете?

Последний раз редактировалось Faantoom, 03.04.2014 в 15:42.
Ответить с цитированием