0

我想创建一个不加载页面的锚点,而只是触发客户端脚本。

我的问题是我创建的锚点总是会在单击时重新加载当前页面(虽然,是的,它确实首先通过 addClickHandler 执行 ClientHandler 代码)。这就是我创建锚点的方式:

app.createAnchor(text, '').setTarget('_self');

这会生成带有空白“href”的 html。我也尝试过使用'#'的href,但最终在html中使用'http://www.google.com/url?q=%23&sa=N&usd=2&usg=AFQjCNGs0Cz4Vz7tdafpLWloZGOjmdJv4Q'这样的href,它会导致重定向循环。(我认为 Hyperlink 小部件(和 InlineHyperlink)可能会做我想做的事,但它们不仅已被弃用,而且现在实际上也已被删除。)

我只是想知道是否可以使用 UiService 中的锚来完成 - 我找不到方法。(由于我自己的解决方法,我已将其发布为已回答,但我很想听听任何有使用 Anchor 小部件的解决方案的人的意见)

4

1 回答 1

1

一个可接受的解决方法可能是创建一个标签而不是锚点,然后对其进行样式设置,以便您获得“指针”手鼠标图标而不是标准箭头光标。

app.createLabel(text).setStyleAttributes({cursor: 'pointer'});

另一种解决方法是使用 HtmlService 对其进行编码,使用简单的 Javascript(JQuery 也可以很好地工作)。将 href 设置为 '#' 并添加一个 onclick 处理程序。

于 2012-12-19T16:18:59.903 回答