gpt4 book ai didi

jquery - 如何将 'bake'参数传入click()调用jquery?

转载 作者:行者123 更新时间:2023-12-01 08:16:56 28 4
gpt4 key购买 nike

我有一个收集 XML 的 ajax 调用,并根据该数据创建了许多 div,我在这些 div 上附加了 click() jquery 监听器。单击时,我希望这些 div 调用一个函数并将参数传递给该函数。然而,当调用单击时,参数的值已经改变。这是来自 jsfiddle I built 的示例演示问题:

    $(document).ready(function() {

function x() {

$.ajax({
type: "POST",
url: "/echo/xml/",
dataType: "xml",
data: {
xml: "<the>xml</the>"
},
success: function(xml) {
console.log('success');

$('#test').show();

var text = "CORRECT";

$('#test').click(function() {

insertText(text);
console.log(text);
});

text = "WRONG";

}
});
}

x();

});

function insertText(t) {

$('#test').html(t);
}

我希望文本显示为正确,而不是错误。

​我知道这是一个有点复杂的示例,但我正在尝试在范围和正在发生的情况方面尽可能地模拟我的实际代码。当基于点击调用 click() 函数时,text 的值已更改。在我创建它时,是否有某种方法可以将 text 的值“烘焙”到 click() 调用中?我将通过 for 循环创建许多这样的数据,因为它在 XML 中运行,并且不想将所有这些数据保留到变量中以供以后使用。

最佳答案

最简单的方法可能是创建一个附加处理程序的函数。这样,函数内的参数就不变了。

      var text = "CORRECT";      

bindClick("test", text);


// ...

function bindClick(id, text){

$('#' + id).click(function() {
insertText(text);
console.log(text);
});
}

http://jsfiddle.net/snTEf/2/

关于jquery - 如何将 'bake'参数传入click()调用jquery?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10001499/

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