更改href BEFORE锚点将激活url

时间:2014-05-13 18:12:15

标签: google-apps-script anchor href

我想根据用户的输入生成包含一些参数的网址。 我有一个锚点,通过使用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?

1 个答案:

答案 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

中创建