Hi,
ich habe ein recht seltsames technisches Problem.
Was ich versuche zu machen: In einem Chatsystem gibt es einen Frame, in dem die gerade anwesenden User angezeigt werden. Damit der Frame nicht immer wieder neu geladen werden muß und die Liste immer aktuell ist, setze ich die Liste per Javascript mit Hilfe der node-Funktionen dynamisch zusammen, was auch wunderbar funktioniert, sogar in allen wichtigen Browsern (IE6, Opera7, Mozilla 1.3).
In der Liste sind Links, bei denen mit dem Overlib-Library (http://www.bosrup.com/web/overlib/) ein Popup angezeigt werden sollte.
Problem: Der Aufruf eines Overlib-Popups benötigt einen onMouseOver="" bzw. bei mir einen onClick="". Seltsamerweise scheint weder der IE noch Opera onMouseOver bzw. onClick als DOM-Attribut zu akzeptieren. Zum Test wollte ich bei einem onClick einfach einen alert() triggern, mit folgendem Code:
<div id="onlinelist"></div>
<script type="text/jacascript">
list = document.getElementById("onlinelist");
child1 = document.createElement ("a");
list.appendChild (child1);
att_href = document.createAttribute("href");
att_href.nodeValue = "javascript:void ();";
child1.setAttributeNode (att_href);
att_onclick = document.createAttribute("onClick");
att_onclick.nodeValue = "alert('foobar');";
child1.setAttributeNode (att_onclick);
</script>
Das Attribut "href" wird problemlos angenommen und funktioniert auch in allen Browsern, nur eben das "onClick" nicht.
Weiß jemand Bescheid? Ist das einfach ein Bug in den Browsern oder gibt es einen Workaround? Ich habe schon versucht, einfach in den href ein "javascript:..." einzubauen, allerdings ist der Aufruf von Overlib "return overlib()", was im href nicht geht.
Dankebar für jede Hilfe oder Idee,
Tom