2012-03-29 4 views
1

У меня есть блок кода, который генерируется динамически с использованием xforms и dojo.jQuery delegate() не работает ie IE

Следующий блок JQuery отлично работает в хроме и светлячок, но не в IE:.

JQuery ('premiumBlock ') делегат ('. DijitCheckBoxInput', 'нажмите', функция() { // делаем что-то });

Код будет «делать материал», который корректно работает в chrome и firefox, но не в IE.

Почти все создано динамически, включая имена классов.

Я прочитал другие похожие SO-запросы, в которых большинство предложений заключалось в изменении .delegate() на .live() или .on(). Эти предложения не работают - это просто изменило бы предка, к которому это событие придет.

Любые идеи, почему это может не работать, и, более конкретно, как я могу заставить его работать?

Благодаря

+0

Какая версия IE? – Magrangs

+0

Вы уверены, что вы нажмете на этот флажок, а не на элемент метки для этого флажка? Использование события click на флажках часто необходимо в IE, но раздражающим побочным эффектом является то, что он работает как событие click - если вы не нажмете сам связанный элемент, событие не будет срабатывать, даже если флажок изменяется , – zetlen

+0

Я встречаю тот же случай, на ie8. –

ответ

0

Вы могли бы попробовать что-то вроде:

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

Это должно заставить его работать в IE также

+0

Логическая попытка, но в моем случае это не сработало – Harry