2012-07-21 2 views
2

Мой <form> submit ничего не делает, я думаю, это потому, что действие перехвачено каким-то кодом JQuery (что еще это может быть?). В моем довольно сложном веб-приложении я даже не могу найти, какая строка кода перехватывает действие - да, я написал каждую строку из них, но все же я понятия не имею.Как найти, что перехватывает мою форму?

Вопрос: в целом, есть ли эффективный способ отслеживать, какая часть кода JavaScript перехватывает определенное действие?

+0

Оказывается, что ничего не перехватывает мой отправки формы действия. Чтобы сохранить пространство на экране, я скрываю и показываю все кнопки отправки комментариев как - '$ ('. Comment_submit_button'). Hide(); $ ('. Comment_textarea'). Focus (function() { $ (this) .closest ('form'). Find ('. Comment_submit_button'). Show(); }); $ ('. Comment_submit_button'). Blur (function() { $ (this) .closest ('form'). Find ('. Comment_submit_button'). Hide(); }); 'Когда я нажимаю кнопку отправки, ее комментарий textarea' blur' верно скрывает кнопку отправки и не отправляет мою форму. Как избавиться от вышеупомянутых работ JS, но есть ли реальный ответ? – Jerry

ответ

9
console.log($('form').data('events')); 

предоставит вам список приложенных событий для данного элемента DOM.

и вы можете даже получить исходный код этого:

$.each($('form').data('events'), function() { 
    $.each(this, function() { 
     console.log(this['handler'].toString()); 
    }); 
}); 
+0

+1 Никогда не знал! Очень полезная информация об этом. – techfoobar

+0

Это может быть не исчерпывающее, даже для кода jQuery. Например. вы можете захватить клик по кнопке отправки: http://jsfiddle.net/hbDah/ – millimoose

+0

@millimoose, в этом случае просто адаптируйте селектор и в дополнение к формам возьмите ': submit'. –

2

быстрый и простой способ будет с помощью инструментов разработчика Google Chrome.

  • Нажмите Ctrl +сдвиг + I
  • Выберите элемент.
  • Нажмите на событие, чтобы увидеть обработчик, который может быть «перехватывающий» ваш submit

enter image description here

+0

+1 Спасибо, приятно знать. – Jerry

Смежные вопросы