【发布时间】:2017-03-08 06:41:50
【问题描述】:
以这个为例:
$('select#submit_model').on('change', function(){
model_object = {};
console.log(model_object);
});
为什么每次我的选择更改并且函数触发时控制台都会记录一个额外的对象?
例如,第一次选择后记录 Object {},第二次选择后记录 Object {} Object {},第三次选择后记录 Object {} Object {} Object {} - 依此类推。
我想知道这是因为我有条件选择输入,并且根据用户选择的内容填充数据,但是在每个“更改”函数之后,在我的对象之前添加了一个空数组(类似问题) - 然后是我的函数可能会在进一步“更改事件”后中断,因为它正在尝试读取一个对象,但它前面有空数组(我可以看到记录到控制台)。
我需要以某种方式清理或清除我的对象吗?为什么会这样?
感谢您的回答。
【问题讨论】:
-
将
model_object = {};放在on()之外,并在其中添加var -
是否有任何东西能够重新运行整个脚本,包括 sn-p 的第一行(例如,插入带有
.html()的标记的一部分 sn-p)?重复可能表明'change'事件处理程序被多次绑定,并且每次发生事件时调用相同的次数。 -
我认为你是对的 - 问题是这一切都包含在另一个 onchange 事件中,这似乎与我的示例有关。感谢您的帮助。
标签: javascript jquery json object