我有一个具有多个mapareas元素,用户可以选择其中之一。每个area都有一个ID代表一个数字(稍后需要在公式中使用该数字)。

如何将所选IDarea存储在变量中以备后用?

到目前为止我的工作:

function areaSelection(){
$("map").on('click', 'area', function (e){
    e.preventDefault();
    var areaSelect = parseInt(this.id);


console.log(areaSelect);
});

}

var mapSelection = areaSelection();

$("area").on('click', areaSelection);

最佳答案

尽最大努力不要使用全局变量。

首先,您要将函数调用分配给变量,该变量返回未定义的变量(除非使用return语句,否则所有函数都将执行此操作)。

其次,areaSelection函数仅创建click事件。
它实际上并不计算areaSelect值。



而是尝试这样的事情:

var mapSelection;

$("map").on('click', 'area', areaSelection);

function areaSelection(e) {
    e.preventDefault();
    mapSelection = parseInt(this.id);
}


这样,在每次单击mapSelection时都会设置map,但是请注意,这不太可能有效。

09-12 14:06