Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何只单击地图区域一次?_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如何只单击地图区域一次?

Javascript 如何只单击地图区域一次?,javascript,jquery,html,Javascript,Jquery,Html,我正在创建一个医疗评估,在这个页面中,你可以选择疼痛的身体部位。单击身体部位后,其名称将显示在下面。问题是,当反复单击时,它会显示多次。是否有方法阻止单击事件重复 这是样品 如下更改您的函数:- function callAction(area) { if (body.indexOf(area.title) !== -1) { return; } body.push(area.title); document.getElementById("body").value =

我正在创建一个医疗评估,在这个页面中,你可以选择疼痛的身体部位。单击身体部位后,其名称将显示在下面。问题是,当反复单击时,它会显示多次。是否有方法阻止单击事件重复

这是样品


如下更改您的函数:-

function callAction(area) {
    if (body.indexOf(area.title) !== -1) { return; }
    body.push(area.title);
    document.getElementById("body").value = body;     
 }

您可以为
区域创建一个标志,告知您已经单击了该区域,或者删除侦听器或
区域。jQuery也有……我也建议使用这种方法。除了为了清楚起见,我认为if(body.indexOf(area.title)!=-1{return;}
可能更好。
function callAction(area) {
    if (body.indexOf(area.title) !== -1) { return; }
    body.push(area.title);
    document.getElementById("body").value = body;     
 }