我有一个密码
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);
});
时如何停止该部分?
答案 0 :(得分:0)
将user_id
事件处理程序移出user_details_table
函数,移至初始化地图的位置。
就像您每次运行zoomend
一样,它将和一个新的事件处理程序
更新
如我所见,您在外部作用域的某处定义了Search
变量,因此Search
处理程序应位于该作用域中以从闭包使用它。
因此,当prov
事件触发时,它将获取当前存在的zoomend
值