从函数返回链接时,href不起作用

时间:2017-04-07 15:55:46

标签: javascript html hyperlink onclick href

以下作品:

<a id="showDirectionsMapLink" href="#" onclick="href='comgooglemaps://maps.google.com/maps?saddr=Google,+1600+Amphitheatre+Parkway,+Mountain+View,+CA+94043&daddr=Google+Inc,+345+Spear+Street,+San+Francisco,+CA&center=37.422185,-122.083898&zoom=10';">test</a>

它在谷歌地图应用中打开。

以下不起作用:

<a id="showDirectionsMapLink" href="#" onclick="showDirectionsMap();">test2</a> 

showDirectionsMap()函数将获取所选帐户的位置,并返回与上面完全相同的字符串。 HREF =&#39; comgooglemaps://maps.google.com/maps SADDR =谷歌,+ 1600 +剧场+大路,+山+景观+ CA + 94043&放大器; DADDR =谷歌+公司+ 345 +矛+街,+圣+旧金山,CA +&安培;中心= 37.422185,-122.083898和缩放= 10&#39;

什么都没发生

2 个答案:

答案 0 :(得分:1)

如果您希望使用函数返回的URL,则必须将其分配给this.href,就像您在使用文字字符串的版本中所做的那样。

<a id="showDirectionsMapLink" href="#" onclick="this.href = showDirectionsMap();">test2</a> 

答案 1 :(得分:0)

HTML

<a id="showDirrectionsMapLink">your link</a>

JS(使用JQuery):

function forceLink(event){
  event.preventEvent();
  event.stopPropagination();
  var link = 'http://google.com'; // whatever you want
  window.location.href = link; // automaticly forces the browser to this location
}

$('#showDirrectionsMapLink').on('click' forceLink);

如果要在a标签上使用onClick,则需要手动停止标准执行和重定向。标准执行在更改之前读取href