【问题标题】:Change href BEFORE anchor will activate url在锚点之前更改 href 将激活 url
【发布时间】:2014-07-01 13:30:00
【问题描述】:

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

【问题讨论】:

    标签: google-apps-script anchor href


    【解决方案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 函数中创建

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-05
      • 2017-03-29
      相关资源
      最近更新 更多