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>