gpt4 book ai didi

javascript - 将字符串参数传递给 jQuery,它认为它的功能

转载 作者:行者123 更新时间:2023-12-02 17:07:08 24 4
gpt4 key购买 nike

我有以下功能

function showPossibleLocationToAdd() {
var ulist = $("<ul data-rok='listview' id='addLocationList'></ul>").appendTo("#addLocation");
for (var i = 0; i < 10; i++) {
console.log("calling" + i*5 + "," + i*3 + ",Location " + i);
var name = "Location " ;
$("<li><a href='#settingsPage' data-role='button' onclick='addNewLoc("+ i*5 + "," + i*3 + "," + name + ")'>Location " + i + "</a></li>").appendTo("#addLocationList");
}
}

它应该动态创建一个包含单击事件的列表,该事件应该调用此函数:

function addNewLoc(long, lat, name) {
console.log(long);
console.log(lat);
console.log(name);
}

但是单击链接后的输出我得到了这个响应,例如:

2515function Location() { [本地代码]}

所以我的问题是为什么它认为变量名是一个函数而不是字符串?

最佳答案

因为您正在将 Location 传递给您的函数。这是某些浏览器中的 native 构造函数。它不是您代码中的字符串。您应该避免使用 onclick 属性。您可以将值存储在 data-* 属性中,使用 jQuery 委托(delegate)动态生成元素的事件,然后使用事件处理程序读取 data-* 属性.data() 方法,例如:$(this).data('location')

关于javascript - 将字符串参数传递给 jQuery,它认为它的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25157301/

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