gpt4 book ai didi

javascript - 为什么我的函数值被调用了两次?

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

我有一个函数正在另一个函数中调用。它应该返回一个 json 对象的值。 json 值根据我设置的过滤器而变化。

为什么要调用两个值而不是只调用最后一个值。

我的代码:

$.getJSON(json, api_result => {

myFunc('#api_results', api_result);
});

function myFunc(id, json_data) {
$(id).click(function() {
console.log(json_data);
});
}

我的结果:

results

我已经更新了我的过滤器以更改我的 json 参数,但在单击时我得到了所有更改。为什么我不能只获取过滤后的 json 的最后值?

最佳答案

每次您获得一组新数据(来自 $.getJSON)时,您都在调用 myFunc 并将另一个处理程序绑定(bind)到 click $(id) 上的事件。在绑定(bind)新的之前,您需要删除任何现有的点击事件处理程序:

function myFunc(id, json_data) {
$(id).off('click').on('click', function() {
console.log(json_data);
});
}

关于javascript - 为什么我的函数值被调用了两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58228210/

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