javascript - 如何仅单击 map 区域一次?

标签 javascript jquery html

我正在创建一项医疗评估,您可以在该页面中选择疼痛的 body 部位。单击 body 部位后,其名称将显示在下方。问题是重复点击时会显示多次。有没有办法阻止点击事件重复?

这是示例。

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;     
 }

Demo

关于javascript - 如何仅单击 map 区域一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31652793/

相关文章:

javascript - Mottie 虚拟键盘,隐藏原生 Android Input Keyboard

javascript - 将 Javascript 对象数组转换为一个对象

javascript - extjs 3.4 如何动态添加复选框到工具栏

javascript - 如何在 jQuery .on 函数中设置事件

jquery - 如何在 jQuery 中添加选项以选择列表

javascript - jQuery 数据表 TypeError : b is null

javascript - 以下nodejs代码之间的区别

javascript - HTML/CSS/Javascript,试图让图像在点击时改变

html - 我无法在其容器内正确对齐我的导航菜单

javascript - 博客上的随机背景图片