die Notwendigkeit der Anwendung ist es leider nicht, im Intranet lauffähig zu sein, sondern schon für die bald kommende BlackBerry-Version BBX (korrekterweise neuerdings BB10) erstellt zu werden. Diese soll nämlich laut Pressemeldungen von RIM perönlich kein Java mehr unterstützen... Und all unsere BlackBerry-Apps basieren derzeit auf Java. Daher HTML und JavaScript/jQuery.
Ich verstehe immer noch nicht, warum das ganze dann eine Schwachsinnslösung mit JavaScript werden soll - es gibt WLAN und 3G. Diesen App-Wahnsinn werd' ich nie verstehen.
appendToDOM ist meine eigene Erweiterung, die zur Laufzeit der Anwendung den gewünschten HTML-Tag mit Attributen etc. dem DOM hinzufügt. Das verkürzt mir viel Schreibarbeit meiner Meinung nach und es funktioniert auch.
Das ist Unsinn - die jQuery-Core-Methoden erlauben das ebenfalls ohne viel schreibarbeit aber dafür ist das ganze für jeden, der von jQuery Ahnhung hat nachvollziehbar und erweiterbar:
$('#content').append(
$('<a />')
.attr('href', '#')
.attr('name', 'hauptmenu')
);
$('<a />')
.attr('href', '#')
.attr('name', 'hauptmenu')
.appendTo('#content');
Und um das lästige "Seitenladen" auf den BlackBerrys zu vermeiden, wollte ich eben den Inhalt der Seiten immer in ein Container-Div packen.
Sogar mein ZTE-Blade - ein Dreckstelefon sondergleichen, das wohl langsamste Smartphone der Welt, ist ausreichend schnell um Websites schnell zu rendern, ohne "lästiges Seitenladen".
Die Idee ist wirklich (ernsthaft[sic!]) nicht sehr zielführend.
Mittlerweile habe ich eine Möglichkeit in jQuery gefunden, auch nachträglich hinzugefügten Links (auch anderen Tags) ein bestimmtes Event zuzuweisen :D
$('a').on('click',function(){/Tu etwas/});
Nein, on fügt nicht nachträglich etwas hinzu es ist ein globaler Event-Listener der einfach mal alles prüft, was so irgendwie da ist - so wie in alten jQuery-Versionen delegate() oder live(). Da er aber mittelfristig bind() ersetzen wird, gibts keinen Grund ihn nicht zu verwenden.
Das löst zwar dein "Problem" - deinen defekten Designansatz macht es aber nicht besser.