demo在这里:https://jsfiddle.net/wz9xs5g5/
通过jquery添加一个下拉框时,一开始的下拉框点击一下会马上显示然后隐藏是怎么回事?
通过firbug显示触发了两次,不知是什么原因造成的?
function start(){ $(".button").click(function() { $(this).next().toggle(function(){ $(this).next('.textCon').show(); },function(){ $(this).next('.textCon').hide(); }); }); } start(); $("button").click(function() { console.warn("haha"); $("body").append($(".box")[0].innerHTML); start(); });
你在
start()
里对$(".button")
重复绑定了 click 事件,造成每次点击都触发多次处理。改成代理事件方式,且只调用一次start()
就好了https://jsfiddle.net/wz9xs5g5/1/