Javascript не привязан к DOM

У меня есть одна проблема здесь. Я использую загрузчик CSS и GWT в моем приложении. На моей странице uibinder я использую текстовое поле gwt и применяю стиль ("дата"), как показано ниже.

<g:TextBox styleName="span11 date"></g:TextBox>

Также были добавлены bootstrap-datepicker.js и связанные с ним файлы начальной загрузки css. При загрузке HTML, я запускаю нижеприведенный скрипт.

$( document ).ready(function() {
    $('.date').datepicker({
        format: 'm/d/yyyy',
        showWeek: true,
        startDate: 'today',
        autoclose: true,
      });
});

Тем не менее всплывающее окно начальной загрузки начальной загрузки не находится в фокусе текстового поля gwt.

Кроме того, я попытался наоборот, внедрив файл js и используя подход JSNI.

Тем не менее это не сработало..

Кроме того, когда я открываю консоль браузера (используя F12) и вставляю приведенный выше фрагмент JavaScript, он работает нормально.

Есть ли что-то настройки / конфигурации должны быть сделаны?

GWT блокирует выполнение JavaScript?

Мы ценим любые предложения!!!

Спасибо

2 ответа

Если вы хотите использовать Bootstrap в своем приложении GWT, я настоятельно рекомендую использовать существующие библиотеки, такие как gwtbootstrap3 или gwt-bootstrap.

Проблема здесь, вероятно, связана с тем, что TextBox еще не был добавлен в DOM. Возможно, все сценарии были загружены, но это не означает, что GWT построил весь вид (попробуйте добавить задержку в эту функцию, чтобы проверить, прав ли я). Вы можете добавить метод "обратного вызова" в ваше представление (вызываемый, когда представление доступно), который будет вызывать метод на вашей главной странице, который преобразует TextBox к datepicker... Но если это не единственный виджет в вашем приложении, который вы используете из Bootstrap, я бы предложил использовать подходящую библиотеку, которая импортирует виджеты Bootstrap более GWT.

Убедитесь, что вы включаете свой

<script src=".nocache.js"></script>

до

<script src="bootstrap.min.js"></script>
Другие вопросы по тегам