首页 > 代码库 > 嵌套 click 第二层 click会叠加 导致 触发 多次
嵌套 click 第二层 click会叠加 导致 触发 多次
?
1 2 | $( "#appearHiddenDiv" ).click( function (){<br> $( "#hiddenDiv" ).css({display: "block" });<br> $( "#closeHiddenDiv" ).click( function (){ <br> //alert("erhsh test");<br> $("#hiddenDiv").css({display:"none"}); <br> }); }); |
表面上这段代码挺合逻辑的,但是当在第二个click 中加入alert测试一下,会发现第一次点击关闭层时alert一次,但第二次开始就不止一次了:原因出在了,click事件被累积,然后作用于 $("#closeHiddenDiv") jq对象上。所以后面每操作一次,alert多一次。。。
解决方法是把click 分开写,如下:
$("#appearHiddenDiv").click(function(){
$("#hiddenDiv").css({display:"block"});
$("#closeHiddenDiv").click(function(){
//alert("erhsh test");
$("#hiddenDiv").css({display:"none"});
});
});
$("#hiddenDiv").css({display:"block"});
$("#closeHiddenDiv").click(function(){
//alert("erhsh test");
$("#hiddenDiv").css({display:"none"});
});
});
?
1 2 3 4 | $( "#appearHiddenDiv" ).click( function (){ $( "#hiddenDiv" ).css({display: "block" }); }); <br>$( "#closeHiddenDiv" ).click( function (){ <br> //alert("erhsh test");<br> $("#hiddenDiv").css({display:"none"});<br>}); |
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。