如何在JavaScript中检测cart-img-icon类购物车图标是否被点击?
问题分析与解决思路
你的代码核心问题是:console.log(result)在添加点击事件监听后立即执行,此时购物车尚未被点击,所以输出的是初始值false。后续点击购物车时,result确实会被设为true,但之前的console.log已经执行完毕,不会更新输出结果。
解决方法
方法1:点击时同步输出结果
把console.log放到点击事件的回调函数内,这样每次点击购物车时都会输出更新后的状态:
let result = false; const test = document.querySelector(".cart-img-icon"); test.addEventListener('click', function() { result = true; console.log(result); // 点击触发时才执行输出 });
方法2:随时查看当前状态
如果需要在任意时刻查看result的最新值,不需要提前写console.log,直接在控制台输入result并回车,就能获取当前的状态值。
代码优化建议
- 用
let或const声明变量,避免无声明的全局变量(你的代码中test未声明,会成为全局变量,容易引发冲突); - 若仅需记录点击状态,可简化逻辑,无需额外命名函数。
内容的提问来源于stack exchange,提问作者Linh Bui Thi
相关产品推荐
相关产品推荐

