到目前为止,我已经完成了
jQuery的:
function addURL(element)
{
var baseZipCode = 48180;
$(element).attr('href', function() {
return this.href + baseZipCode;
});
}
HTML:
<a onclick="addURL(this)" href="http://www.weather.com/weather/today/" target="_blank">Click this</a>
我的问题是当用户点击链接并且新窗口打开时一切正常,但是当用户再次点击链接而没有刷新时,该变量会被添加两次到链接。
例如:
第一次: http://www.weather.com/weather/today/48180
第二次: http://www.weather.com/weather/today/4818048180
在您进行页面刷新之前它不会正常运行,任何帮助都将不胜感激。提前致谢
答案 0 :(得分:1)
将您的addURL
功能替换为
function addURL(element)
{
var baseZipCode = '48180';
if (element.href.slice(-baseZipCode.length) !== baseZipCode){
element.href += baseZipCode;
}
}
没有涉及jQuery ..
答案 1 :(得分:1)
您可以使用jQuery.fn.one
使用Javascript:
jQuery("a").one("click", function(){ // Set a handler that execute once
var baseZipCode = 48180;
this.href += baseZipCode; //same as "this.href = this.href + baseZipCode"
});
HTML:
<a href="http://www.weather.com/weather/today/" target="_blank">Click this</a>
也许您需要将一些类添加到&lt; a&gt;标签与其他标签不同
答案 2 :(得分:0)
这应该是:
function addURL(element)
{
var baseZipCode = 48180;
element.href = (element.href + baseZipCode)
.replace(baseZipCode + baseZipCode, baseZipCode);
}
答案 3 :(得分:0)
return this.href.indexOf(baseZipCode) != -1 ? this.href : this.href + baseZipCode;