我有一个数组(拼接到大小 2),它跟踪用户点击(第一个,最后一个)。第一个和最后一个元素是唯一的。
我正在尝试根据用户单击的内容加载内容。正在发生的奇怪的事情是,除非我执行 2 个 console.logs,否则我看不到更新的数组。如果 1 个日志完成,则数组不会更新。我猜这与数组执行/操作时间有关。
我调试的方式是点击处理程序来记录并点击查看数组值。有什么建议或提示吗?
我以前从来没有遇到过这个问题。谢谢。
var clicksInfo = [];
$('#a, #b, #c').on('click', function(e){
// array: add, splice
if(jQuery.inArray($(this).attr('id'), clicksInfo) == -1){
clicksInfo.push($(this).attr('id'));
if(clicksInfo.length == 2){
// might do something
}else if(clicksInfo.length == 3){
clicksInfo.splice(0,1);
}
}else{
clicksInfo.splice(0,1);
clicksInfo.push($(this).attr('id'));
}
if($(this).attr('id') == 'a'){
// do stuff.
}else if($(this).attr('id') == 'b'){
// do stuff.
}else if($(this).attr('id') == 'c'){
// do stuff.
}
});
$(document).on('click', function(){
console.log('clicksInfo', clicksInfo);
// console.log('clicksInfo', clicksInfo);
});