gpt4 book ai didi

javascript - 将变量传递给 Javascript 中的 onclick 函数不起作用

转载 作者:行者123 更新时间:2023-11-30 20:38:13 25 4
gpt4 key购买 nike

我有涉及 Google 标记的代码。我想在信息窗口中创建一个按钮,当您单击它时,它会调用一个函数。但是我传递给它的变量没有被识别。当我使用 Chrome 的控制台时,它显示错误:

roadside_parking_adjust:1 Uncaught ReferenceError: marker_lat 未定义 在 HTMLInputElement.onclick (roadside_parking_adjust:1)

这是我的代码:

marker2.addListener('click', function() {
var marker_lat = this.getPosition().lat();
var marker_lng = this.getPosition().lng();

var save_coord_btn = "<input type='button' onClick='saveCoordinates(marker_lat, marker_lng, 12345)' class='btn' value='儲存經緯度'></input>";

infowindow.setContent("<div style='text-align:center;'>"+save_coord_btn+"</div>");
infowindow.open(map, this);
});

最佳答案

一旦信息窗口内容显示在 map 上,onClick 处理程序将无法访问标记点击处理程序顶部定义的变量 (marker_latmarker_lng)。

所以代替

"... onClick='saveCoordinates(marker_lat, marker_lng, 12345)' ..."

marker_latmarker_lng 的值连接到 save_coord_btn 字符串,如下所示:

"... onClick='saveCoordinates(" + marker_lat + "," + marker_lng + ", 12345) ...'

或者你可以使用 template literals像这样:

`... onClick='saveCoordinates(${marker_lat}, ${marker_lng}, 12345)' ...`

看看this JSBin一个工作示例。

关于javascript - 将变量传递给 Javascript 中的 onclick 函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49586160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com