Как я могу увидеть, какая функция jQuery связана с элементом? - PullRequest
5 голосов
/ 30 апреля 2010

Я нашел сайт, на котором есть какая-то функция, которая мне нужна, в javascript. Он использует jQuery, когда я щелкаю тег, выполняется некоторая функция, поэтому jQuery устанавливает привязку для тега. Но как я могу узнать, какая функция связана с этим? Firebug не показывал это мне: (

Ответы [ 2 ]

9 голосов
/ 30 апреля 2010

Если вы хотите сказать, смотрите обработчик события click для элемента, вы получите первый обработчик, подобный этому:

$("#element").data("events").click[0].handler

Это даст вам запуск функции. Вот пример страницы, показывающей, что

Вот пример:

$("a").click(function() {
  alert($("a").data("events").click[0].handler);
});​

При нажатии это выдаст предупреждение: function() { alert($("a").data("events").click[0].handler); }

Это просто пример использования click, но все, что вам нужно для работ, mouseenter, focus, каким бы ни было событие, включая пользовательские события.

Кроме того, если вы хотите перебрать все обработчики событий для элемента или коллекции, это сработает, просто измените селектор на то, что вам нужно ( вот тот же пример, обновленный для включения этого * 1021) *):

$.each($("a").data("events"), function(i, e) {
  $.each(e, function(j, h) {
    alert('Event: ' + i + '\nHandler:\n' + h.handler);
  });
});

1025 *

1 голос
/ 30 апреля 2010

Вы пытались использовать FireQuery ? Должен быть установлен в каждой настройке Firefox / Firebug.

...