|
.live()
|
|
| Кронд | Отредактировал Кронд - Вторник, 10 Августа 2010, 06:58 Дата: 10 Августа 2010, 06:58 | Сообщение # 1 | ● ● ● ● ● 329 сообщений Статус: Offline | Что сделать с этой штукой, чтобы она просто автоматически, допустим, делала текст синим в дивах с определённым классом, при их появлении на странице - не важно, аяксом или просто document.write'ом? .live() вообще может это сделать? | | |
|
| Infamous | Дата: 10 Августа 2010, 07:56 | Сообщение # 2 |  ● ● ● ● ● 1670 сообщений Статус: Offline | Code div.foo { color: blue; }  | | |
|
| Кронд | Отредактировал Кронд - Вторник, 10 Августа 2010, 08:52 Дата: 10 Августа 2010, 08:51 | Сообщение # 3 | ● ● ● ● ● 329 сообщений Статус: Offline | Infamous, "делала текст синим в дивах с определённым классом" я привёл в качестве примера, на самом деле операции будут куда сложнее, типа добавления и удаления элементов. | | |
|
| Infamous | Дата: 10 Августа 2010, 08:58 | Сообщение # 4 |  ● ● ● ● ● 1670 сообщений Статус: Offline | .live() — это тот же .bind(), только добавляет обработчики на все элементы: созданные, подгруженные и т.д. Причём тут добавления и удаления элементов ? | | |
|
| Кронд | Отредактировал Кронд - Вторник, 10 Августа 2010, 19:20 Дата: 10 Августа 2010, 09:14 | Сообщение # 5 | ● ● ● ● ● 329 сообщений Статус: Offline | Infamous, внимательно, вдумчиво перечитай мой первый пост. | | |
|
| Infamous | Дата: 10 Августа 2010, 09:39 | Сообщение # 6 |  ● ● ● ● ● 1670 сообщений Статус: Offline | | | |
|
| Кронд | Отредактировал Кронд - Вторник, 10 Августа 2010, 11:35 Дата: 10 Августа 2010, 11:34 | Сообщение # 7 | ● ● ● ● ● 329 сообщений Статус: Offline | Infamous, я понимаю твои самые благие намерения, но ты уже третий раз отвечаешь невпопад и не так, как мне нужно. Улыбаемся и машем... | | |
|
| Infamous | Отредактировал Infamous - Вторник, 10 Августа 2010, 12:12 Дата: 10 Августа 2010, 12:03 | Сообщение # 8 |  ● ● ● ● ● 1670 сообщений Статус: Offline | Потому что вопрос неправильный. Дошло, просто объяснил непонятно. | | |
|
| MegaFill | Дата: 10 Августа 2010, 12:07 | Сообщение # 9 |  ● ● ● ● ● 1588 сообщений Статус: Offline | .live() — это тот же .bind( Нет. Бинд - в начале при формирование ДОМ вешаются все события. При Лайв происходит клик на элементе, и тут компилятор (или что там у браузера) смотрит, а не должно ли что-то выполняться по клику... Так что разница огромна. Кронд, мне самом устало инетресно) Мне кажется нерально сделать чтобы в динамически формируемый элемент при его появление на странице менялся по средством live. У меня получилось сделать такую штуку... Но это не выход. МНе кажестя самым логичным это переписать те функции, которые формируют элемент, который ты хочегт потом менять. Code $(document.body).mousemove(function () { $("div").each(function (i) { this.style.color = "blue"; }); }) Добавлено (10 Август 2010, 12:07) --------------------------------------------- Кронд, да, стандартными методами нельзя. А вот с эти можно http://plugins.jquery.com/project/livequery | | |
|
| Кронд | Дата: 11 Августа 2010, 20:47 | Сообщение # 10 | ● ● ● ● ● 329 сообщений Статус: Offline | Кажется, начиная с 1.4+ версии чем-то подобным занимается метод .delegate(), подскажите, пожалуйста, как его привязать к событию готовности страницы (ready, вроде бы)? | | |
|
| UnderShot | Дата: 11 Августа 2010, 20:55 | Сообщение # 11 | ● ● ● ● ● 393 сообщения Статус: Offline | Зачем i?Добавлено (11 Август 2010, 20:55) --------------------------------------------- Кронд, | | |
|
| MegaFill | Дата: 11 Августа 2010, 20:58 | Сообщение # 12 |  ● ● ● ● ● 1588 сообщений Статус: Offline | Так надо.  | | |
|
| Кронд | Дата: 11 Августа 2010, 23:00 | Сообщение # 13 | ● ● ● ● ● 329 сообщений Статус: Offline | UnderShot, спасибо, Кэп. А теперь с использованием .delegate(), подскажи, пожалуйста? | | |
|
| MegaFill | Дата: 11 Августа 2010, 23:09 | Сообщение # 14 |  ● ● ● ● ● 1588 сообщений Статус: Offline | $('body').delegate('div', 'click', function(e){ // Do something with delegate }); | | |
|