Как отладить манипулирование DOM с помощью jQuery? - PullRequest
1 голос
/ 16 марта 2012

Я работаю над сайтом с некоторым динамическим контентом jQuery.Если пользователь нажал кнопку («показать меню») на странице, запускается функция javascript.Пусть эта функция вызывает loadMenu().

Функция loadMenu() загружает меню (веб-содержимое) с сервера, используя ajax.Часть этого загруженного кода - javascript / jquery.2 функции этого кода делают некоторые элементы на странице перетаскиваемыми, 2 другие функции делают некоторые элементы на веб-странице перетаскиваемыми.Все эти функции запускаются в $ .ready-Time (если DOM готов).Все это прекрасно работает.

Теперь я добавил функцию «MenuAlwaysVisible».Это означает: если веб-страница загружается и завершается (ready), пользователю не нужно нажимать кнопку «показать меню», потому что javascript loadMenu() теперь срабатывает автоматически, если страница ready

Проблема сейчас в том, что перетаскиваемый обработчик подключен и работает так, как определено, но не работает droppable.

Я не уверен, но, вероятно, работает функция droppableв то время, когда элементы DOM не любят, чтобы их сбрасывали?Или, может быть, некоторые другие коды JQuery отменяют это?(но на странице нет других сбрасываемых элементов)?

Итак, вопрос в том, как проанализировать эту проблему: как отладить манипуляции с DOM, используя Windows и Firefox / Firebug или Safari, Chrome ... что угодно...

Спасибо!

Ответы [ 2 ]

0 голосов
/ 02 августа 2012

Чтобы ответить на мой собственный вопрос: я не нашел другого способа, кроме как использовать firebug и console.info() или console.warn() для отладки кода. Спасибо всем за комментарии

0 голосов
/ 16 марта 2012

Одна хитрость отладки, которую я нашел бесконечно полезной для работы с JQuery, - это очевидный трюк с кодом вставки. Вставьте команду .hide () в какую-то очевидную идентифицируемую часть страницы и посмотрите, выполняется ли когда-либо код. Позволяет отслеживать, какие фрагменты кода не работают должным образом, а какие просто никогда не используются.

...