Предоставляет ли JavaScript историю предыдущих событий, которые произошли? - PullRequest
0 голосов
/ 18 августа 2011

Мне было интересно, записывает ли JavaScript информацию о предыдущих событиях, которые произошли, чтобы я мог использовать эту информацию для выполнения определенного курса действий в текущем событии?

Например, у меня есть элемент, который имеетобработчик события OnBlur, но я хотел бы знать событие, которое произошло до события OnBlur, которое инициировало событие OnBlur, например, нажатие пользователем клавиши Tab, клавиши со стрелкой или щелчка мыши, которое переместило фокус от элемента.

Итак, предоставляет ли JavaScript какой-либо механизм, облегчающий доступ к истории событий, или люди могут дать мне идеи, как найти способ реализовать это?

Ответы [ 3 ]

1 голос
/ 18 августа 2011

Нет ничего нативного в JS, которое делает это ..

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

Что-то вроде (предполагается JQuery ..)

var eventdb = [];
$(document).bind("click,blur,whatever", function(e) {
  eventdb.push(e);
});
0 голосов
/ 18 августа 2011

Вы можете привязать любое событие на объекте и сохранить это событие на объекте для следующего обработчика событий. Вот jsfiddle, который показывает привязку ко многим событиям и сохраняет последний тип события на объекте. Существует также обработчик события щелчка, который принимает решение на основе последнего события, сохраненного на объекте: http://jsfiddle.net/xEjGA/

0 голосов
/ 18 августа 2011

Нет, такая история не поддерживается ни одной реализацией браузера: я думаю, что API истории поддерживает обход URl, но ничего не отслеживает отдельные события. Если вам нужен один из них, вам, вероятно, потребуется реализовать его самостоятельно.

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