|
|
|
append в jQuery
|
|||
|---|---|---|---|
|
#18+
Польза от documentFragment 1.Фишка заключается в том, что когда documentFragment вставляется в DOM - то он исчезает, а вместо него вставляются его дети. Это единственное и основное свойство documentFragment по сравнению со всеми остальными сущностями DOM.2.Совершенно не важно, используете ли вы в качестве оторванного от DOM контейнера documentFragment или что-то другое. Важно, что промежуточные вставки идут в оторванный от живого документа DOM. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2012, 23:09:58 |
|
||
|
append в jQuery
|
|||
|---|---|---|---|
|
#18+
Честно говоря, первый раз слышу об этом. documentFragment это функция js или метод вставки так называется? Из описания понял, что можно любой узел использовать. И appendTo, как понимаю, вставляет коллекцию таким же способом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2012, 23:31:45 |
|
||
|
append в jQuery
|
|||
|---|---|---|---|
|
#18+
Shitbox2Честно говоря, первый раз слышу об этом. documentFragment это функция js или метод вставки так называется? DocumentFragment ЦитируюЭто особенный кросс-браузерный DOM-объект, который похож на обычный DOM-узел, но им не является. Shitbox2И appendTo, как понимаю, вставляет коллекцию таким же способом?DocumentFragment используется. Как конкретно - смотрите в исходниках jQuery ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2012, 23:52:09 |
|
||
|
append в jQuery
|
|||
|---|---|---|---|
|
#18+
Спасибо за статью, не видел раньше! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2012, 10:40:13 |
|
||
|
append в jQuery
|
|||
|---|---|---|---|
|
#18+
Если я создаю объект jQ и вставляю его в дом $('<p>абв</p>').appendTo($element), а потом нахожу его $element.find('p').eq(0), то можно гарантировать, что это всегда будет именно тот объект, который создавал раньше и, например, его свойство data будет одним и тем же? В исходниках jQ пока не смог разобраться... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2012, 11:51:14 |
|
||
|
append в jQuery
|
|||
|---|---|---|---|
|
#18+
Shitbox2, гарантировать нельзя. Если $element до выполнения appendTo уже содержал дочерние элементы, среди которых есть <p>, то $element.find('p').eq(0) вернёт не то, что Вам нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2012, 12:30:21 |
|
||
|
append в jQuery
|
|||
|---|---|---|---|
|
#18+
Да, вполне возможно, что будет содержать. А как сделать так, чтобы можно было гарантировать? Присвоить особый класс или атрибут и искать по нему? Обычно так делают? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2012, 12:46:29 |
|
||
|
append в jQuery
|
|||
|---|---|---|---|
|
#18+
Shitbox2Если я создаю объект jQ и вставляю его в дом $('<p>абв</p>').appendTo($element), а потом нахожу его $element.find('p').eq(0), то можно гарантировать, что это всегда будет именно тот объект, который создавал раньше и, например, его свойство data будет одним и тем же?Это будет именно тот объект, гарантирую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2012, 12:54:41 |
|
||
|
append в jQuery
|
|||
|---|---|---|---|
|
#18+
Еще такой вопрос: В прототипе описываю метод создания нового поля, при вводе чего-нибудь в это поле рекурсивно вызывается этот метод. Проблема с обработчиками событий. Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. За вводом текста должно следить только последнее поле ввода, поэтому при создании нового можно удалять обработчик с предыдущего, но загвоздка в том, что на всех полях могут параллельно висеть другие обработчики, например, автоформатирования ввода, тогда удаляться и они. Как удалить конкретный обработчик? Копаю в направлении создания своего события, но пока ничего не выходит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2012, 18:01:38 |
|
||
|
append в jQuery
|
|||
|---|---|---|---|
|
#18+
Вычитал про пространство имен, переделал приведенный выше пример так: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Но обработчик почему-то не удаляется... Он даже не удаляется если напрямую написать $item.off('keyup.additem'). Что делаю не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2012, 09:56:21 |
|
||
|
append в jQuery
|
|||
|---|---|---|---|
|
#18+
Пробую искать последний элемент в списке таким образом: Код: javascript 1. И опять ничего не выходит! Хотя если указать положительный индекс .item:eq(1), например, то все работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2012, 11:15:30 |
|
||
|
append в jQuery
|
|||
|---|---|---|---|
|
#18+
Тоже не работает, да и в моем случае нужно будет не только последний, но и предпоследний элемент смотреть. Селекторы работают, если не прибавлять новых элементов. Чем же тогда .on дублирует .live если он не ставит обработчик на добавленные в DOM элементы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2012, 11:30:31 |
|
||
|
append в jQuery
|
|||
|---|---|---|---|
|
#18+
Shitbox2Чем же тогда .on дублирует .live если он не ставит обработчик на добавленные в DOM элементы? Direct and delegated events ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2012, 11:35:45 |
|
||
|
append в jQuery
|
|||
|---|---|---|---|
|
#18+
Ну так у меня и используется делегиованная обработка. Тот кусок кода можно переписать так: Код: javascript 1. Т.е. обработчик вешается на контейнер, но добавленные в него элементы почему-то не обрабатываются. Может неправильно вешаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2012, 11:47:51 |
|
||
|
append в jQuery
|
|||
|---|---|---|---|
|
#18+
Даже по-русски нашел статью, а то уж думал, что перевел не так: http://jquery.page2page.ru/index.php5/On ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2012, 11:49:44 |
|
||
|
append в jQuery
|
|||
|---|---|---|---|
|
#18+
:last-child http://jsfiddle.net/tuJnv/8/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2012, 12:03:18 |
|
||
|
append в jQuery
|
|||
|---|---|---|---|
|
#18+
Самое интересное, что если не указывать фильтр в селекторе, то работает и для добавленных элементов Код: javascript 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2012, 12:04:17 |
|
||
|
append в jQuery
|
|||
|---|---|---|---|
|
#18+
last-child в примере работает! Но eq(-..) нет. Как же тогда найти предпоследний элемент? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2012, 12:06:50 |
|
||
|
append в jQuery
|
|||
|---|---|---|---|
|
#18+
наверное это какой-то баг жКвери ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2012, 12:08:30 |
|
||
|
append в jQuery
|
|||
|---|---|---|---|
|
#18+
Надо занести в их баг-трекер. Есть какое-нибудь русское сообщество по jQ, которое знает как это делается или имеет связи с командой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2012, 12:11:57 |
|
||
|
append в jQuery
|
|||
|---|---|---|---|
|
#18+
Ну, тогда можно заносить еще Код: javascript 1. Не смог побороть, пришлось условие в функцию ставить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2012, 13:23:49 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=38007904&tid=1449198]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
96ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
84ms |
get tp. blocked users: |
2ms |
| others: | 234ms |
| total: | 467ms |

| 0 / 0 |
