Не работают события в подгруженых динамически элементах
натолкнулся на такую проблему...
есть <select...> при изменение пунктов которого подгружается хтмл код с помощью примерно такого: $("#description").html('бла бла бла'); в этом подгружаемом html коде есть еще один селект, и вот на него уже событие change не реагирует
$("#item").change(function()
{
alert("test");
});
подскажите как можно обработать события у второго селекта? |
Используйте метод live
|
спасибо) уже нашел.
надо было так:
$("#item").live("change",function()
{
alert("test");
});
|
С появлением метода live резко возросла вероятность получить jQuery головного мозга :D
|
Цитата:
Меня больше всего в live удивляет( и восхищает) что обработчики меняются элементам при изменениях в DOM. |
Что? Ничего там не меняется, это банальное навешивание листенера на родителя. Мало того, в 1.3.2 даже не осилили навешивать на контекст, а биндили аж на document. В 1.4 вроде бы уже пофиксили. )
|
наткнулся на очередную стену для меня.
теперь у подгруженых элементов не могу сменить атрибут(
$('.ctrlHolder').attr("class",$('.ctrlHolder').attr("class") + " error");
тут как я понимаю live уже не поможет... может кто нить подскажет? |
Цитата:
А в общем надо:
$('.ctrlHolder').attr("class",
function(){
return this.className + ' error';
/* // или так тоже можно
return $(this).attr('class') + 'error';
*/
});
Цитата:
|
Вротмненоги, да вы что, документацию даже не открываете?
$('.ctrlHolder').addClass('error')
Ну точно jQuery головного мозга. |
Цитата:
|
| Часовой пояс GMT +3, время: 05:31. |