gpt4 book ai didi

javascript - 将对象传递给事件 jQuery

转载 作者:行者123 更新时间:2023-12-02 18:17:59 25 4
gpt4 key购买 nike

在此示例中,我尝试迭代传递给单击处理程序的对象的属性,但我得到了意外的结果。 Here's fiddle

所以使用像这样的 JS 脚本

 $(document).ready(function ()
{

Label = function (name, toDate, fromDate)
{
this.name = name;
this.toDate = toDate;
this.fromDate = fromDate;
}

lbl = new Label('John', 'Today', 'Yesterday');


$('#btnSubmit').click(function ()
{
for (var i in lbl)
{
console.log(i);
}
});
$('#btnSubmit2').click(function (Label)
{
for (var i in Label)
{
console.log(i);
}
});
});

为什么我不能在单击事件的函数中传递对象并迭代其属性,而不是像在 btnSubmit 示例中那样使用 forin 循环?

最佳答案

始终以事件作为参数来调用回调。当您编写 click(function(Label){ 时,您只需为该事件变量指定名称 Label (从而隐藏外部构造函数)。

但是你可以访问外部作用域中定义的变量,所以你想要的可能是

var lbl = new Label('John', 'Today', 'Yesterday');
$('#btnSubmit').click(function(){
for (var i in lbl) {
console.log(i, lbl[i]); // for example "name", "John"
}
});

关于javascript - 将对象传递给事件 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19098397/

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