SORU
6 HAZİRAN 2012, ÇARŞAMBA


Bir JQuery ekleme tıklatın olay henüz DOM eklenen nesne

Bir sürü sorun click olayına takma DOM eklemeden önce bir WordPress kullanmak bir nesneye sahip oldum.

Temelde benim işlevi bu düğme var, o zaman ben DOM eklemek. İstediğim şey kendi tıklatın işleyicisi ile düğmeyi döndürmek için. İşleyici eklemek için DOM seçin istemiyorum.

Benim kod bu

createMyButton = function(data) {

  var button = $('<div id="my-button"></div>')
    .css({
       'display' : 'inline',
       'padding' : '0px 2px 2px 0px',
       'cursor' : 'pointer'
     }).append($('<a>').attr({
       //'href' : Share.serializeJson(data),
       'target' : '_blank',
       'rel' : 'nofollow'
     }).append($('<image src="css/images/Facebook-icon.png">').css({
       "padding-top" : "0px",
       "margin-top" : "0px",
       "margin-bottom" : "0px"
     })));

     button.click(function () {
        console.log("asdfasdf");
     });

     return button;     
}

Dönüş düğmesine tıklayın olay yakalamak mümkün. Eğer bunu yaparsam ancak, düğmeye DOM eklendikten sonra ():

$('#my-button').click(function () {
    console.log("yeahhhh!!! but this doesn't work for me :(");
});

İstediğim şey... ama benim için değil, hiç değil.

Saat bu işi yapmak için harcadım, henüz nesne DOM bir parçası olmadığı gerçeği ile ilgili gibi görünüyor. Herhangi bir yardım çok apreciated olurdu.

Oh! Bu arada, OpenLayers ile çalışıyorum, ve düğme ekleme olduğumu DOM nesnesi bir OpenLayers.FramedCloud (Wich DOM henüz bir parçasıdır ama olaylar bir kaç tetiklenir kez olacak.)

CEVAP
6 HAZİRAN 2012, ÇARŞAMBA


Bu kullanın. Dom hazır bulunan herhangi bir üst öğe ile vücut değiştirebilirsiniz

$('body').on('click', '#my-button', function () {
     console.log("yeahhhh!!! but this doesn't work for me :(");
});

Canlı değiştirir gibi burada nasıl kullanılacağı hakkında daha fazla bilgi için http://api.jquery.com/on/ () bak() 1.7 .

Kullanmanız gerektiğini, hangi aşağıda listelenmiştir

(seçici)$.; // jQuery 1.3 canlı(olaylar, veri, handler)

(belge)$.temsilci(seçici, olaylar, veri, handler); // jQuery 1.4.3

(belge)$.(etkinlikler, seçici, veri, handler); // jQuery 1.7

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Eric Magidson

    Eric Magidso

    4 Ocak 2009
  • Matt Steffanina

    Matt Steffan

    1 EYLÜL 2011
  • TitaniumBackup

    TitaniumBack

    10 EYLÜL 2011