javascript - 从函数内的函数中提取值

标签 javascript jquery

我有一个具有多个区域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);
}

这样,只要单击mapmapSelection就会被设置,但请注意,这不太可能高效 .

关于javascript - 从函数内的函数中提取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36464198/

相关文章:

javascript - 这个主要的测试功能是如何工作的?

javascript - Bootstrap 多选下拉列表未显示

javascript - Ruby on Rails 和 Masonry 问题

javascript - 在 jQuery 中用 sibling 包装 div 的最简单方法是什么?

javascript - 如何处理js文件中未使用的变量eslint错误?

Javascript:多数组循环

javascript - jquery、ajax、从博客 json feed 创建标签数组

jquery - 用暗室声明一个对象

javascript - 日期选择器数据未发送到下拉列表

javascript - 内联编辑后如何将数据发送到服务器?