Как проследить события JavaScript как onclick onblur?

REASON

Это происходит потому, что на данный момент они отправляют только 64-битную JRE с Android Studio для Windows , которая производит сбои в 32-битных системах.

SOLUTION

  • не используйте встроенный JDK: перейдите в раздел «Файл -> Структура проекта», снимите флажок «Использовать встроенный JDK» и выберите 32-разрядную JRE, которую вы установили отдельно в своей системе
  • уменьшает объем памяти для Gradle в gradle.properties (свойства проекта), например, для установки на -Xmx768m.

Подробнее: https: // код. google.com/p/android/issues/detail?id=219524

12
задан Peter Mortensen 13 August 2011 в 09:08
поделиться

10 ответов

Borkdude заявил:

Вы могли бы хотеть попробовать Visual Studio 2008 и его функция для отладки кода JavaScript.

Я бездельничал обработка событий многократно, и по-моему, хотя классические ступающие отладчики полезны для отслеживания долгих выполнений кода, они не хороши в отслеживании событий. Предположите слушать события перемещения мыши и врываться в другое приложение на каждом событии... Так в этом случае я настоятельно рекомендовал бы регистрироваться.

Если проблема не характерна для  Internet Explorer 7, но также и происходит в Firefox, то иначе отладить код JavaScript, Firefox и дополнение Firebug, которое имеет отладчик JavaScript.

И существует также Firebug, Облегченный для Internet Explorer. У меня не было шанса использовать его, но это существует.:-) Оборотная сторона его - то, что это не делает абсолютного отладчика, но это имеет объект window.console, который является точно, в чем Вы нуждаетесь.

1
ответ дан 2 December 2019 в 20:43
поделиться

Циклично выполняют через все элементы на странице, которые имеют onXYZ функцию, определяемую и затем добавляют трассировку к ним:

var allElements = document.all; // Is this right? Anyway, you get the idea.

for (var i in allElements) {
    if (typeof allElements[i].onblur == "function") {
        var oldFunc = allElements[i].onblur;
        allElements[i].onblur = function() {
             alert("onblur called");
             oldFunc();
        };
    }
}
11
ответ дан 2 December 2019 в 20:43
поделиться

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

element.onclick = function () { alert('Click event'); }

Иначе у Вас есть менее навязчивая опция вставки Ваших предупреждений в dom где-нибудь.

Но, серьезно рассмотрите использование библиотеки как jQuery для реализации функциональности. Большим количеством проблем перекрестного браузера являются решенные проблемы, и Вы не должны решать их снова. Я не уверен точно в функциональности, которой Вы пытаетесь достигнуть, но существует по всей вероятности много прокрутки и выбора плагинов для jQuery, который Вы могли использовать.

0
ответ дан 2 December 2019 в 20:43
поделиться

[nickf] - Я вполне уверен document.all  Internet Explorer определенное расширение.

Необходимо присоединить обработчик событий, нет никакого способа просто 'наблюдать' события. Платформа как jQuery библиотеки Microsoft Ajax легко даст Вам методы для добавления обработчиков событий. jQuery хорош из-за своей селекторной платформы.

Затем я использую Firebug (расширение Firefox) и вставляю точку останова. Я нахожу, что Firebug намного легче настроить и разъединить, чем Visual Studio 2008.

2
ответ дан 2 December 2019 в 20:43
поделиться

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

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

0
ответ дан 2 December 2019 в 20:43
поделиться

Вы могли бы хотеть попробовать Visual Studio 2008 и его функция для отладки кода JavaScript.

Если проблема не характерна для  Internet Explorer 7, но также и происходит в Firefox, то иначе отладить код JavaScript, Firefox и дополнение Firebug, которое имеет отладчик JavaScript. Затем можно также поместить console.log операторы в коде JavaScript, из которого можно затем видеть вывод в Консоли в Firebug, вместо того, чтобы использовать предупреждения, которые иногда портят цепочку события.

2
ответ дан 2 December 2019 в 20:43
поделиться

Это является основным, но Вы могли всунуть предупреждения или вызовы document.write при инициировании чего-то.

0
ответ дан 2 December 2019 в 20:43
поделиться

У Matt Berseth есть что-то, что может быть видом вещи, Вы ищете в Отладке Приложений Ajax ASP.NET с Консолью Трассировки Управление AjaxControlToolkit.

Это основано на регистраторе YUI Yahoo, YUI 2: Регистратор.

0
ответ дан 2 December 2019 в 20:43
поделиться

Одна вещь, которую мне нравится делать, создают связывать функцию в JavaScript (как то, что можно найти в библиотеке Prototype) специально для событий, так, чтобы это передало объект "события" связанной функции. Теперь, если бы необходимо было сделать это, то Вы могли бы просто добавить вызов трассировки, который будет вызван для каждого обработчика, который использует его. И затем удалите его, когда это будет не нужно. Одно место. Легкий.

Однако независимо от того, как Вы заставляете оператор трассировки быть названным, Вы все еще хотите видеть его. Лучшая стратегия состоит в том, чтобы иметь отдельную область или окно, вручающее вызовы трассировки. Инструментарий Dojo имеет встроенную консоль, которая работает в Internet Explorer, и там существуют другие подобные вещи. Классический способ сделать его состоит в том, чтобы создать новое окно и document.write к нему.

  • Я рекомендую присоединить дату и время к каждой трассировке. Помогший меня значительно в прошлом.
  • Отладка и предупреждения обычно не будет помогать Вам, потому что она прерывает нормальный поток события.
0
ответ дан 2 December 2019 в 20:43
поделиться

Мое предложение, используйте FireFox вместе с FireBug и используйте встроенные объекты Отладки/Трассировки. Они - очарование.

-1
ответ дан 2 December 2019 в 20:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: