Javascript 单击后切换锚点的单击功能

Javascript 单击后切换锚点的单击功能,javascript,Javascript,是否可以更改单击锚点后执行的onclick javascript函数 例如: <a id="myLocation" class="locator" href="#" onclick="javascript:getMyLocation();">&nbsp;&nbsp;&nbsp;&nbsp;My Location</a> 当用户单击此定位点时,他们的位置将显示在带有标记的地图上 我希望onclick现在改为RemoveLocation(

是否可以更改单击锚点后执行的onclick javascript函数

例如:

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

当用户单击此定位点时,他们的位置将显示在带有标记的地图上

我希望onclick现在改为RemoveLocation(),这样当他们再次单击锚点时,就会删除他们在地图上的位置标记


getMyLocation()和RemoveLocation已经编写好了,如果可能的话,我只需要在用户单击定位点后更改onclick事件。

将其添加到您的
getMyLocation()函数中:

document.getElementById("myLocation").onclick = RemoveLocation;
document.getElementById("myLocation").onclick = getMyLocation;
RemoveLocation()
函数中:

document.getElementById("myLocation").onclick = RemoveLocation;
document.getElementById("myLocation").onclick = getMyLocation;
是的,这是可能的

您只需要为该元素上的click事件重新分配事件处理程序

比如:

function getMyLocation() {

    ...

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


function RemoveLocation() {

    ...

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

或者,如果您使用的是jQuery,请参阅

如果您使用的是jQuery,则可以使用
$.toggle()
@NADH:这只适用于可见性。@ElliotBonneville,这是另一种切换。您可以执行
$('#选择器')。切换(函数(){alert('a');},函数(){alert('b');})@ElliotBonneville,噢,呜呜。正确的。但是,OP没有指定他正在使用jQuery,因此我认为这无论如何都不是一个解决方案。请注意,您正在调用函数,而不是将它们作为引用传递。这是正确的,我的错误。应该删除
()
,以避免出现这种情况,编辑以更正。每个人都遇到过这种情况:PNo问题,很高兴我能提供帮助。