【问题标题】:Javascript is not attaching to the DOMJavascript 未附加到 DOM
【发布时间】:2015-01-14 19:29:38
【问题描述】:

我这里有一个问题。我在我的应用程序中使用引导 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 sn-p 时,它工作正常。

是否需要进行任何设置/配置?

GWT 是否阻止了 javascript 的执行???

任何建议将不胜感激!!!

谢谢

【问题讨论】:

    标签: twitter-bootstrap gwt uibinder gwt-bootstrap gwtbootstrap3


    【解决方案1】:

    如果您想在 GWT 应用程序中使用 Bootstrap,我强烈建议您使用现有的库,例如 gwtbootstrap3gwt-bootstrap

    这里的问题可能是由于 TextBox 尚未添加到 DOM 中。所有脚本可能都已加载,但这并不意味着整个视图已由 GWT 构建(尝试在该函数中添加延迟以查看我是否正确)。您可以在您的视图中添加一个“回调”方法(当视图可用时调用),该方法将调用您的主机页面中的一个方法,该方法会将 TextBox 转换为 datepicker... 但除非这是唯一的小部件您从 Bootstrap 使用的应用程序,我建议使用适当的库,以更 GWT 的方式导入 Bootstrap 的小部件。

    【讨论】:

      【解决方案2】:

      确保包含您的

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

      之前

      <script src="bootstrap.min.js"></script>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-02-13
        • 1970-01-01
        • 2020-05-09
        • 2021-11-24
        • 1970-01-01
        • 2019-06-28
        • 2021-08-23
        • 2016-12-24
        相关资源
        最近更新 更多