该功能仍在运行,即使它已经调用了另一个功能

时间:2019-01-15 08:36:05

标签: javascript leaflet

我有一个密码

SECOND_VALUE

如果我先调用Search()函数,然后又调用function Search(){ clean_map(); $("#CS").modal('hide'); prov = $('#Prov').val(); map.on('zoomend', function(){ myZoomHandler(prov); }); } function myZoomHandler(prov) { clean_map(); var currentZoom = map.getZoom(); switch (currentZoom) { case 1: case 2: case 3: case 4: case 5: case 6: case 7: clean_map(); mapProv(prov); break; case 8: case 9: case 10: case 11: case 12: case 13: case 14: case 15: case 16: case 17: case 18: case 19: case 20: clean_map(); mapKab(prov); break; default: break; } } function SearchPer(){ $('#P').modal('hide'); clean_map(); $.ajax({ type : "get", data : { id : $('#Per').val() }, url : "getKab", dataType : "json", success: function(responsePer){ GetName(responsePer, $('#Per').val()); }, error: function(error){ console.log(error); } }); return false; } 函数,一切都会按预期进行,但是如果我先调用SearchPer()然后又调用SearchPer()是一个问题将发生在Search()函数的此部分中:

Search()

仍在运行。

在调用map.on('zoomend', function(){ myZoomHandler(prov); }); 时如何停止该部分?

1 个答案:

答案 0 :(得分:0)

user_id事件处理程序移出user_details_table函数,移至初始化地图的位置。 就像您每次运行zoomend一样,它将和一个新的事件处理程序

更新

如我所见,您在外部作用域的某处定义了Search变量,因此Search处理程序应位于该作用域中以从闭包使用它。

因此,当prov事件触发时,它将获取当前存在的zoomend