Как я могу определить имя функции обработчика событий JavaScript? - PullRequest
1 голос
/ 20 января 2010

Я вижу некоторые элементы привязки на html-странице примерно так:

<a href="javascript:void(0);" class="clickable">Click me</a>;

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

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

Может кто-нибудь предложить мне способ программно запустить обработчик события onclick якоря?

Ответы [ 2 ]

2 голосов
/ 20 января 2010

Чтобы ответить на вопрос в вашем заголовке: нет, вы не можете.Вы не можете получить имя, потому что даже не может быть имя - это довольно распространенное использование анонимных функций для этой цели.

Для ответа на ваш второй вопрос см .:

Как программно вызвать событие onclick () из тега привязки, сохраняя ссылку «this» в функции onclick?

0 голосов
/ 20 января 2010

Возможно ли альтернативное решение? Нажав на ссылку, чтобы вызвать ее обработчик для имитации щелчка пользователя, вместо того, чтобы пытаться найти обработчик?

Примерно так в jQuery:

$("a.clickable:first").click();

Обновление: Вот рабочий пример, чтобы показать, как это работает на DOM:

<html>
 <head></head>
 <body>
  <a href="javascript:void(0)" onclick="alert('I'm an alert!')">Click me</a>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
  <script type="text/javascript">
   $(function() { $('a').click(); });
  </script>
 </body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...