我有一个具有多个map
的areas
元素,用户可以选择其中之一。每个area
都有一个ID
代表一个数字(稍后需要在公式中使用该数字)。
如何将所选ID
的area
存储在变量中以备后用?
到目前为止我的工作:
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
,但是请注意,这不太可能有效。