jQuery: ist 'DOMSubtreeModified' der beste Weg zu handhaben dynamisch hinzugefügte Elemente (mobiles Gerät)?

Ich bin mit http://detectmobilebrowsers.com/ zu erkennen, ob der browser auf einem mobilen Gerät. Wenn das stimmt muss es ausblenden, facebook share-Taste, wie es funktioniert nicht richtig auf mobilen Geräten und stattdessen ein facebook-feed-option verwendet wird.

Als die Elemente werden dynamisch Hinzugefügt, die ich verwendet die folgenden:

if(jQuery.browser.mobile)
{
        $('#your-dialog-id').bind("DOMSubtreeModified", function() {
              $(this).find('.db-share').addClass('db-share-hide');
        });
}

#your-dialog-id ist ein jQuery UI modal.

Dies funktioniert aber: gibt es einen besseren Weg, dies zu tun?

  • gut, wenn man die Kontrolle über die Injektion von code dann Sie alays tun, die addClass rechts nach Spritzen Sie
  • Vielleicht bin ich nicht immer, aber warum können Sie nicht einfach tun $('.db-share').hide(); auf pageload ?
  • Ich habe es ausprobiert, aber leider ist der PHP-code zum testen für mobile ist noch unwieldly. Getestet habe ich eine PHP-Lösung, um addClass beim Handy, aber es hat nicht fangen alle Browser. @adeneo lade ich eine Menge von dynamischen Elementen, die vom Anwender entschieden, die Aktionen und den ich leider nicht nutzen konnte .hide() wie ich nur wollen, Sie zu verstecken, auf einer mobilen Plattform. Da all dies innerhalb einer facebook Rahmen war es immer sehr kompliziert. Das ist, was führte mich zu DOMSubtreeModified. Ich habe nur gefragt, ob es einen besseren Weg.
  • das iPhone hat man nicht wie DOMSubtreeModified. Am Ende ging ich mit einer wieder in Lösung code.google.com/p/php-mobile-detect
Schreibe einen Kommentar