jquery
  • binding
  • object
  • 2010-04-17 79 views 0 likes 
    0

    我有使用jquery創建的對象,其中每個對象都有自己的綁定。保存jquery對象而不失其約束力

    function closeButton(oAny){ 
    
    var div = create_div(); 
    $(div).attr("id","btn_"+$(oAny).attr("id")); 
    var my_parent = this; 
    
    $(div).html("<img src='"+ my_parent._base_url +"/assets/images/close.gif'>"); 
    $(div).click(function(){ 
         alert("do some action here"); 
    }); 
    
    return div; 
    
    } 
    
    
    var MyObject = WindowObject(); 
    var btn = closeButton(MyObject); 
    
    $(myobject).append(btn); 
    $("body").append(myobject); //at this point button will work as i expected  
    
    
    //save to array for future use 
    ObjectCollections[0] = myobject; 
    
    //remove 
    $(myobject).remove(); 
    
    $(body).append(ObjectCollections[0]); // at this point button will not work 
    

    第一次我可以顯示我的對象和關閉按鈕正在按我的預期工作。但是,如果我將myobject保存到任何變量以供將來使用。它將失去約束力。有人試圖做到這一點?有什麼解決辦法嗎?或者這絕對是一個壞主意? 。謝謝你回答我的問題。

    回答

    1

    ,而不是點擊這樣的綁定,您需要使用直播功能,這使活着

    $('yourelement').live('click', function(){ 
    // some stuff 
    }); 
    
    +0

    嗯,你秒打我:​​P – Mottie 2010-04-17 04:13:00

    +0

    我試試你的建議。但仍然無法工作。現在我有自己的答案。我將使用靜態綁定a.k.a onClick。 這就是我所做的。 (「onClick」,「someFunction('#」+ $(myobject).attr(「id」)+「')」); 感謝您的回答XGreen和Fudgey。 – 2010-04-17 15:33:18

    0

    您是否嘗試過使用jQuery live的事件?

    它基本上允許您動態添加對象併爲其預設綁定。嘗試像

    $(div).live('click', function(){ 
    alert("do some action here"); 
    }); 
    
    0

    我已嘗試XGreen和Fudgey建議使用實時綁定。

    但仍然無法正常工作。 我現在有我自己的答案。我將使用靜態綁定a.k.a onClick。

    這就是我所做的。

    $(btn).attr("onClick","someFunction('#"+ $(myParentObject).attr("id")+"')"); 
    

    感謝您的回答XGreen和Fudgey。

    相關問題