該文章在2020年1月份進行了重寫,文章地址: html元素設置display為none,綁定的事件還存在么
----------------------------------------------------------------------------------------------------------------------------------------------------------
以下是2016年的舊文
元素設置為display:none,雖然該元素從頁面中消失了,其綁定的事件仍存在。
<body> <button class="button1">change1</button> <button class="button2">change2</button> <button class="button3">change3</button> <div class="test" style="width:50px;height:50px;background-color: red;"></div> <script> $(function () { $('.button1').toggle(function() { $('.test').css('background-color', 'black'); },function () { $('.test').css('background-color', 'red'); }); $('.button2').click(function() { $('.test').hide(); }); $('.button3').click(function() { $('.test').show(); }); }) </script> </body>
上圖是初始頁面。change1可以使div在紅色和黑色切換,當點擊change2時,div消失,然后點擊change1,那這次點擊能否是消失的div顏色變化呢?揭曉答案,最后,我們點擊change3使div出現,發現消失的div顏色變了。所以結論是,元素設置為display:none,其綁定的事件仍存在。