1

これまで私はやった

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>

私の問題は、ユーザーがリンクをクリックして新しいウィンドウを開くとすべて問題ありませんが、ユーザーが更新せずにリンクを再度クリックすると、変数がリンクに2回追加されることです。

例えば:

初回: http ://www.weather.com/weather/today/48180

2 回目: http://www.weather.com/weather/today/4818048180

ページを更新するまで正しく動作しません。助けていただければ幸いです。前もって感謝します

4

4 に答える 4

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>

<a> タグにいくつかのクラスを追加して、他のクラスと区別する必要があるかもしれません

于 2013-04-09T16:26:30.533 に答える
0

これは次のようになります。

function addURL(element)
{
    var baseZipCode = 48180;
    element.href = (element.href + baseZipCode)
        .replace(baseZipCode + baseZipCode, baseZipCode);
}
于 2013-04-09T16:19:08.100 に答える
0
return this.href.indexOf(baseZipCode) != -1 ? this.href : this.href + baseZipCode;
于 2013-04-09T16:19:47.400 に答える