簡體   English   中英

jQuery的:顯示:無后,事件監聽器被刪除?

[英]JQuery: event listener removed after display:none?

我有一個帶有jQuery bind()定義了“單擊”事件偵聽器的按鈕。 在我(以編程方式)對父元素執行display:none (有效隱藏父元素和按鈕)之前,事件偵聽器可以正常工作。 當我取消隱藏父元素( display:block )時,該按鈕不再起作用。

示例:假設我具有以下帶有事件監聽器的HTML標記:

$( ".my-button" ).bind( "click", myFunction );

<div class="container">
  <div class="my-button">Button</div>
</div>

如果我使用另一個jQuery函數,請執行

$(".container").css('display', 'none');

事件偵聽器消失。 這是預期的行為嗎? 每次display:none后,我是否需要重新綁定事件監聽器?

http://jsfiddle.net/gadL2rag/

$(".container").css('display', 'none'); 

不會取消綁定該事件,它將隱藏.container div及其子級。 但是在您調用$(“。container”)。css('display','block');之后 同樣,該事件仍然存在,您不必再次綁定它。 希望這個幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM