我想创建一个不加载页面的锚点,而只是触发一个客户端脚本。
我的问题是我创建的锚点在点击时总会重新加载当前页面(但是,是的,它首先通过addClickHandler执行ClientHandler代码)。这就是我创建锚点的方式:
app.createAnchor(text, '').setTarget('_self');
这会生成带有空白'href'的html。我也尝试使用'#'的href,但最终会在html中使用href,例如'http://www.google.com/url?q=%23&sa=N&usd=2&usg= AFQjCNGs0Cz4Vz7tdafpLWloZGOjmdJv4Q'它会导致重定向循环。 (我认为Hyperlink小部件(和InlineHyperlink)可能会做我想要的,但它们不仅被弃用,它们实际上也已被删除了。)
我只是想知道是否可以在UiService中使用Anchors来完成 - 我找不到方法。 (由于我自己的解决方法,我已将其发布为已回答,但我有兴趣听到任何使用Anchor小部件的解决方案的人)
答案 0 :(得分:1)
可接受的解决方法可能是创建Label而不是Anchor,然后设置样式以便获得“指针”手形鼠标图标而不是标准箭头光标。
app.createLabel(text).setStyleAttributes({cursor: 'pointer'});
另一种解决方法是使用简单的Javascript(使用简单的Javascript也可以很好地使用HtmlService)对其进行编码。将href设置为'#'并添加onclick处理程序。