我有一个具有多个区域
的map
元素,用户可以选择其中之一。每个区域
都有一个代表数字的ID
(我稍后需要在方程中使用它)。
如何将所选区域
的ID
存储在变量中以供以后使用?
到目前为止我的工作:
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
函数仅创建点击事件。
它实际上并不计算 areaSelect
值。
尝试这样的事情:
var mapSelection;
$("map").on('click', 'area', areaSelection);
function areaSelection(e) {
e.preventDefault();
mapSelection = parseInt(this.id);
}
这样,只要单击map
,mapSelection
就会被设置,但请注意,这不太可能高效 .
关于javascript - 从函数内的函数中提取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36464198/