你如何在 GWT PagingScrollTable 中实现 Twitter Hovercards?
new Label("@ded")
例如,当我添加到HorizontalPanel 时,Hovercard 链接可以正常工作。但是,当我将“@ded”放入 PagingScrollTable 行时,Twitter JavaScript 函数似乎并不适用。
我是一个 JavaScript 新手。
应 Igor 的要求,这里有更多细节。根据 Twitter文档,我将几个脚本放入<head>
我的 HTML 文件中:
<script src="http://platform.twitter.com/anywhere.js?id=myId&v=1"
type="text/javascript"></script>
<!-- Twitter @Anywhere Hovercards -->
<script type="text/javascript">
twttr.anywhere(function (T) {
T.hovercards();
});
</script>
然后 Hovercards 像上面描述的那样工作,除了在 GWT PagingScrollTable 中。例如,我实现了一个返回“@ded”AbstractColumnDefinition
的方法。getCellValue()
“@ded”出现在表格中,但脚本似乎无法识别它——“ded”部分没有下划线,因为它在表格之外(Twitter 文档显示了一个工作 Hovercards 的示例) .
用网络检查器查看它,我看到它new Label("@ded")
显示为
<div class="gwt-Label">
"@"
<a class="twitter-anywhere-user" href="http://twitter.com/ded">ded</a>
</div>
但在我桌子的最后一行我看到
<tr style="background:#fafafa;" class>
<td class>@ded</td>
<td>...</td>
</tr>
</tbody>
</table>
当我对表进行分页并尝试将第二个脚本作为 JSNI 调用时,我在日志中发现了一个错误,但仅在从缓存数据加载行时:
04:15:51.280 [ERROR] Uncaught exception escaped
com.google.gwt.core.client.JavaScriptException: (ReferenceError): Can't find variable: twttr
line: 3
sourceId: 4675433328
expressionBeginOffset: 209
expressionCaretOffset: 214
expressionEndOffset: 214
at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:195)
at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:120)
...