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/