該文章在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,其綁定的事件仍存在。
