2012-03-29 6 views
1

Ich habe einen Block von Code dynamisch mit Xforms und Dojo generiert.jQuery Delegate() funktioniert nicht dh IE

Der folgende Block von jQuery funktioniert in Chrome und Firefox, aber nicht in IE.

jQuery ('premiumBlock ') Delegierten ('. DijitCheckBoxInput', 'klicken', function() { // etwas tun });

Der Code wird dann "Sachen machen", die in Chrome und Firefox, aber nicht IE richtig funktioniert.

Fast alles wird dynamisch einschließlich der Klassennamen erstellt.

Ich habe andere ähnliche SO-Abfragen gelesen, wo die Mehrheit der Vorschläge gewesen sind, .delegate() zu .live() oder .on() zu ändern. Diese Vorschläge funktionieren nicht - es würde lediglich den Vorfahr ändern, zu dem das Ereignis führen wird.

Irgendwelche Ideen, warum das nicht funktioniert und, genauer gesagt, wie ich es zum Funktionieren bringen kann?

Dank

+0

Welche Version von IE in IE funktioniert? – Magrangs

+0

Sind Sie sicher, dass Sie auf das Kontrollkästchen und nicht auf das Label-Element für das Kontrollkästchen klicken? Die Verwendung des click -Ereignisses für Kontrollkästchen ist im IE häufig erforderlich, aber ein lästiger Nebeneffekt ist, dass es wie ein Klickereignis funktioniert. Wenn Sie nicht auf das gebundene Element selbst klicken, wird das Ereignis nicht ausgelöst, selbst wenn sich das Kontrollkästchen ändert . – zetlen

+0

Ich treffe den gleichen Fall, auf ie8. –

Antwort

0

Sie so etwas wie versuchen könnte:

$('#somecontainer').ajaxComplete(function() { 
    $(".premiumBlock").delegate(".dijitCheckBoxInputat","click",function() { 
     //do something 
    }); 
}); 

Dies sollte es auch

+0

Ein logischer Versuch, aber das hat in meinem Fall nicht funktioniert – Harry

Verwandte Themen