繁体   English   中英

如何在gwt Uibinder中使用JavaScript

[英]How to use JavaScript with gwt Uibinder

我想在用GWT编写的应用程序中执行JavaScript。 这是在常规HTML中工作的代码:

<html>
  <head>
  </head>

  <body>
    <ul>
      <li></li>
      <li></li>
      <li></li>
      <li></li>
      <li></li>
    </ul>
    <script src="jquery.js"></script>
    <script src="jquery.roundabout.js"></script>
    <script>
      $(document).ready(function() {
          $('ul').roundabout();
      });
    </script>
  </body>
</html>

(假设jquery.jsjquery.roundabout.js在同一文件夹中。)

我有一个somePresenter (带有someView.javasomeView.ui.xml ),我希望上面的代码可以在someView.ui.xml工作。

我将上面的代码复制粘贴到了XML中(除了<html>标记,我有<g:HTMLPanel>标记),但JavaScript似乎没有执行(我所看到的是列表,因为它应该是脚本之前的列表) 。

我该如何运作?

相关问题:我可以为此使用GQuery吗(例如:GQuery。$()。getScript(jquery.roundabout.js)来加载外部js脚本)?

提前致谢

您不能将<script>放在UiBinder中,并希望看到它被加载并执行,其原因与您无法以相同的解释将JS中的<script>放在innerHTML中相同(原因是HTMLPanel和UiBinder将在以下情况下使用innerHTML引擎盖)。

如果需要动态加载脚本,请查看ScriptInjector

ScriptInjector.fromUrl(GWT.getModuleBaseURL() + 'jquery.js').inject();

我想GQuery使用ScriptInjector或类似地工作。

我最终设法通过将

<script src="jquery.js"></script>
<script src="jquery.roundabout.js"></script>

project.html ,然后在加载相关页面(我的演示者)时执行带有JSNI调用的相关JavaScript。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM