jQuery按钮点击重复弹窗问题求助:点击任一按钮均弹出全部弹窗
解决jQuery点击事件重复触发的问题
嘿,我一眼就发现问题所在啦!你对jQuery的$(document).ready()用法理解错了,这才导致点击任意元素时两个弹窗都冒出来~
错误原因分析
你写的$(document).ready("#Chombas").click(...)是不对的,ready()方法的正确用法是接收一个回调函数,用来在DOM完全加载完成后执行内部的代码逻辑。你直接把选择器传给ready(),相当于错误地进行了事件绑定,甚至可能导致事件被意外绑定到多个元素上,最终触发重复弹窗。
正确的代码实现
HTML代码(保持不变)
<p id="Chombas">Chombas</p> <p id="Buzos">Buzos</p> <script src="jquery-3.3.1.js"></script> <script src="calc2.js"></script>
JS代码(calc2.js)
$(document).ready(function() { // 给Chombas绑定独立的点击事件 $("#Chombas").click(function() { alert('CHOMB...'); }); // 给Buzos绑定独立的点击事件 $("#Buzos").click(function() { alert('BUZOS...'); }); });
额外小提示
如果之后遇到类似事件重复触发的情况(比如代码被多次执行导致重复绑定),可以在绑定事件前先解绑原有事件,确保每次只绑定一次:
$("#Chombas").off('click').click(function() { alert('CHOMB...'); });
内容的提问来源于stack exchange,提问作者js_student-92
相关产品推荐
相关产品推荐

