#javascript #jquery
#javascript #jquery
Вопрос:
У меня есть форма, и я пытаюсь отправить ее, но ничего не происходит. Я вижу, что вызывается $(‘#myform’).submit(), но затем ничего не происходит. Я предполагаю, что где-то событие отправки «отключается». Есть ли у меня способ узнать, где это событие перехватывается?
обновление предложение Дарина Димитрова помогло мне выяснить, где именно обрабатывается отправка. Я смог регистрировать обработчики для отправки событий. Затем я установил точки останова внутри обработчиков и прошел через код, чтобы выяснить, где мой процесс отправки был «отменен». p.s. Я, конечно, просматриваю журнал и отладку в firebug.
Комментарии:
1. Уверен, что есть способ — отладка 🙂 Вы также можете поделиться частью кода здесь, чтобы мы могли помочь вам лучше.
2. Да, пробовал отладку. В firebug, прямо перед нажатием кнопки отправки, я выбираю опцию «прервать при следующем». Затем я нажимаю кнопку отправки, я врываюсь в библиотеку jQuery, которая занимается событиями фокусировки / размытия. Когда я прохожу через это, он ничего не делает, просто выходит из функции, и мне некуда идти до отладки.
Ответ №1:
Чтобы узнать, какие обработчики событий отправки зарегистрированы в вашей форме, вы можете использовать следующее, чтобы распечатать их на консоли:
$.each($('#myform').data('events').submit, function(key, value) {
console.log(value.handler);
});
Это, очевидно, предполагает, что эти обработчики событий были зарегистрированы в jQuery.
Комментарии:
1. В какой момент я бы назвал это? При загрузке? При нажатии кнопки?
2. @dev.e.loper, вы могли бы ввести этот код непосредственно перед ручным запуском события .submit формы, чтобы проверить, какие обработчики зарегистрированы.