[mootools] Request.HTML und Javascript funktionieren nicht richtig...

StefanR

Erfahrenes Mitglied
Moin,

habe heute mal versucht, mit mootools, einen AJAX Request aus einem Ajax Request herraus zu nur leider scheitert das schon an den simpelsten Sachen.

Folgendes kleines Snibbel:

Code:
$$('a.camp_statis').addEvent('click', function(e){
		new Request.HTML({url:'/de/ajax/xxxx/xxxx', onSuccess: function(responseTree, responseElements, responseHTML, responseJavaScript){
			var cont = $('popup-content').set('html', responseHTML).makeDraggable();
			var close = closeButton();
			close.injectInside(cont);
		}}).send('id='+this.getNext().value);
		$('popup').setStyles({
            'display': ''
            //'width': document.body.offsetWidth,
            //'height': document.body.offsetHeight
        }).setOpacity('.8');
	});

schreibt eine Tabelle in einen Div Layer eine kleine Tabelle. Wenn ich jetzt innerhalb des Requests ein simples:

Code:
<script type="text/javascript">
alert('hallo');
</script>
schreibe, denn kommt auch die Alert Box mit "Hallo". Mache ich aber folgendes:
Code:
<script type="text/javascript">
$$('a.change_stati').addEvent('click', function(e){
	alert('hallo');
});
</script>
un klick einen der Links an, passiert gar nix. Auch Firebug meldet nix.

Jemand ne Idee, was ich falsch mache?
 
Hi,

ich wage mal einen Tipp ins Blaue hinein.

Ist das Dokument schon geladen, wenn du die Events hinzufügen willst? Falls nicht, existieren die Elemente noch nicht und können somit auch die Events noch nicht aufnehmen.

Eventuell hilft es, die Eventbehandlung im domready-Event des window-Objekts umzusetzen.

Code:
window.addEvent('domready', function() {
  $$('a.change_stati').addEvent('click', function(e){
    alert('hallo');
  });
});

Ciao
Quaese
 
Hi,

ich wage mal einen Tipp ins Blaue hinein.

Ist das Dokument schon geladen, wenn du die Events hinzufügen willst? Falls nicht, existieren die Elemente noch nicht und können somit auch die Events noch nicht aufnehmen.

Eventuell hilft es, die Eventbehandlung im domready-Event des window-Objekts umzusetzen.

Code:
window.addEvent('domready', function() {
  $$('a.change_stati').addEvent('click', function(e){
    alert('hallo');
  });
});

Ciao
Quaese

Ich meine, dass Feature ist nicht richtig in der Lib verbaut... Habs jetzt anders gelöst. Und fackel, das Handling im onSuccess() Handler ab. Trotzdem Danke, für deinen Tipp. ;)
 
Zurück