如何在地图区域只点击一次

How to click on a map area only once?

本文关键字:一次 地图 区域      更新时间:2023-09-26

我正在创建一个医疗评估,有这个页面,你可以选择身体疼痛的部位。一旦你点击身体的某个部位,它的名字就会显示在下面。问题是,它将显示多次,当点击重复。是否有一种方法来阻止点击事件重复?

这是样品。

http://jsfiddle.net/qpmxnv2g/6/

var map = document.getElementById("Map");
map.addEventListener("click", function (e) {
    callAction(e.target);
});
map.one("click", function (e) {
    callAction(e.target);
});
var body = [];
document.getElementById("body").innerHTML = body;
function callAction(area) {
    body.push(area.title);
    document.getElementById("body").value = body;
}
document.getElementById("Clear").addEventListener('click', function () {
    body.length = 0;
    document.getElementById("body").value = '';
});

像这样修改你的函数:-

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