Показать сообщение отдельно
  #9 (permalink)  
Старый 12.09.2014, 22:18
Новичок на форуме
Отправить личное сообщение для lazKod Посмотреть профиль Найти все сообщения от lazKod
 
Регистрация: 10.09.2014
Сообщений: 5

unbind и подменить функцию обработчика - пробовал, но не удалось. После долгого гугления нашёл 2 пути :
1. Это компонент http://sprymedia.co.uk/VisualEvent/demo/
Как я понял там просто находятся все функции обработки, в зависимости от js движка. Достаточно много кода и муторно вытаскивать и удалять .

2. Нашёл такую функцию getEventListeners в консоли хрома. Она возвращает список событий на элементе, у которых есть функция remove(). Идеально было бы, но так и не получилось получить доступ из моего расширения.

И вариант вроде рабочий, немного изврат но ...
mouseDown = function(e) {
 
    var obj = document.createElement('div');
    obj.id = '__chm_click';
    obj.style.cssText = 'position:fixed;top:0px;left:0px;width:100%;height:100%; background-color:red; ';

    document.body.appendChild(obj);
 
};
mouseUp = function(e) {

    var elClick = document.getElementById('__chm_click');
    elClick.parentNode.removeChild(elClick);
    

};
document.addEventListener('mousedown', mouseDown);
document.addEventListener('mouseup', mouseUp);

Тупо создаём слой при нажатии на любой элемент. Вроде пока работает.
Ответить с цитированием