2012-04-26 8 views
0

アンカーをクリックした後に実行するonclick javascript関数を変更することはできますか?クリック後にアンカーのクリック機能を切り替える

例:

<a id="myLocation" class="locator" href="#" onclick="javascript:getMyLocation();">&nbsp;&nbsp;&nbsp;&nbsp;My Location</a> 

ユーザーが自分の場所をマーカーで地図上に表示され、このアンカーをクリックします。

OnclickをRemoveLocation()に変更して、アンカーを再度クリックするとマップ上のマーカーの位置を削除するようにします。

getMyLocation()とRemoveLocationが既に書き込まれています可能であれば、ユーザーがアンカーをクリックした後にonclickイベントを変更するだけで済みます。はい、それは可能である

document.getElementById("myLocation").onclick = getMyLocation; 
+0

を参照してください、あなたは '$ .toggle()' – Nadh

+0

@NADHを使用することができます。それだけ可視性のために働く。 –

+0

@ElliotBonneville、これは別のトグルです。 @AlliotBonneville、http:// – Nadh

答えて

1

は、あなたのgetMyLocation()機能にこれを追加します!

その要素のclickイベントにイベントハンドラを再割り当てするだけで済みます。

何かのように:

function getMyLocation() { 

    ... 

    document.getElementById("myLocation").onclick = RemoveLocation; 
} 


function RemoveLocation() { 

    ... 

    document.getElementById("myLocation").onclick = getMyLocation; 
} 

それとも、jQueryのを使用している場合は、jQueryのを使用している場合は、toggle event function

+0

関数を参照として渡すのではなく、関数を呼び出すことに注意してください。 – Chopin

+0

それは間違いなく、私の間違いです。修正を避けるために '()'を削除する必要があります。 –

+0

それは誰にも起こりました:P – Chopin

1

document.getElementById("myLocation").onclick = RemoveLocation; 

そしてRemoveLocation()機能で:

+0

ありがとう、私はそれを感謝します。 – broguyman

+0

ようこそ! – Chopin

関連する問題