Как обрабатывать все события на веб-странице - PullRequest
0 голосов
/ 30 августа 2009

Я хочу получать уведомления обо всех событиях, происходящих на веб-странице.

Для каждого отдельного события я использую что-то вроде этого:

if(document.addEventListener){
    document.addEventListener('click', function(e) { something(e) } , true);
}else{
    if(document.attachEvent){
        document.attachEvent('onclick', function(e) { something(e) });
    }
}

Существует ли простой кросс-браузерный способ получать уведомления обо всех событиях на веб-странице вместо прослушивания каждого события отдельно (без использования jQuery)?

Ответы [ 3 ]

2 голосов
/ 30 августа 2009

Напишите приложение JavaScript, которое ищет теги документа HTML в поисках атрибутов события. Затем вы можете анализировать события любым удобным вам способом. Вывод может быть записан на текущую страницу или записан в другой документ с использованием объекта xmlHttpRequest.

1 голос
/ 30 августа 2009

Попробуйте вызвать функцию, переданную в качестве аргумента, внутри другой функции, которая вызывает всю операцию уведомления

function addEvent(ev,fun){
  var hand=function(e){
     alert(ev+" event"); //Or other notify operations
     fun();
  }
  if(document.addEventListener){
      document.addEventListener(ev, hand, true);
  }else{
      if(document.attachEvent){
          document.attachEvent(ev, hand);
      }
  }
}
1 голос
/ 30 августа 2009

Все события? Я серьезно сомневаюсь в том, что вы задумываетесь о пузырях событий и о том, сколько шума будет вызывать движение mmusmove.

Придерживайтесь дискретной привязки белого списка к тому, что вас действительно волнует.

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