簡體   English   中英

與動態div綁定jQuery

[英]jquery on binding with dynamic div

我對jquery有問題。 假設我在jquery中有2個div,

<div id='1'>               //static div
</div>

<div id='2'>               //dynamic div
</div>

靜態div始終存在於文檔中,但是當我們單擊靜態div時,動態div會切換。 現在我想要在動態div上放置一個事件,例如:

$(document).on("show", "#2", {}, function() {
 alert("div 2 present");
});

這樣,當文檔中存在動態div時,我就可以執行某些操作。 我怎樣才能做到這一點 ?

當元素變為可見時,沒有由元素觸發的“顯示”事件。 您將不得不將處理程序與事件相關聯,從而使該元素首先變得可見。 在這種情況下,這似乎是第一個div上的click事件:

$(document).on("click", "#1", function() {
    $("#2").toggle();

    if ( $("#2").is(":visible") ) {
        alert("div 2 present");
    }
});

請注意,根據HTML 4規范,元素ID不應以數字開頭。 但是,在HTML 5中沒關系。

需要注意的進一步改進是,在將處理程序綁定到動態生成的元素時,最好將最近的靜態父元素作為目標,而不是允許在document級別處理委托。 即做$("#parent").on("click", element, function() {})

最后,由於<div id="1">是靜態的,因此不需要委托的事件處理程序,可以直接綁定處理程序:

$("#1").click(function () {
    //...
});

暫無
暫無

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

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