我想根据用户的输入生成包含一些参数的网址。 我有一个锚点,通过使用addMouseDownHandler或addClickHandler,我可以更改锚点的链接。 问题是这个改变的链接只有在我第二次点击锚点后才会激活,并且(在创建时)指定的URL将在我第一次点击锚点时被激活。
function onMouseDownAnchor(e)
{
Logger.log(JSON.stringify(e));// you can see the source parameter in e that returns the widgets ID of the button you clicked to call the handler
var app = UiApp.getActiveApplication();
var btnAnchor = app.getElementById('btnAnchor');
var newLink = 'http://www.google.com';
btnAnchor.setHref(newLink)
Logger.log('onMouseDownAnchor');
return app;
}
如何在锚点激活我点击它时的url之前更改锚点的href?
答案 0 :(得分:1)
我自己找到了解决方案。 而不是使用
onMouseDownAnchor
我只需要使用
onMouseOverAnchor
所以工作代码变为
function onMouseOverAnchor(e)
{
Logger.log(JSON.stringify(e));// you can see the source parameter in e that returns the widgets ID of the button you clicked to call the handler
var app = UiApp.getActiveApplication();
var btnAnchor = app.getElementById('btnAnchor');
var newLink = 'http://www.google.com';
btnAnchor.setHref(newLink)
Logger.log('onMouseOverAnchor');
return app;
}
,当然,
var anchor = myApp.createAnchor("", siteUrl)
.setId('btnAnchor').setName('bntAnchor')
.setHeight(heightButton).setWidth(widthButton)
.setStyleAttribute('backgroundImage', 'url(' + picButton + ')');
var onMouseOverAnchor = myApp.createServerHandler('onMouseOverAnchor');
anchor.addMouseOverHandler(onMouseOverAnchor); // This will change the href of the anchor
必须在doGet-function 中创建