powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / append в jQuery
23 сообщений из 48, страница 2 из 2
append в jQuery
    #38006918
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Польза от documentFragment
1.Фишка заключается в том, что когда documentFragment вставляется в DOM - то он исчезает, а вместо него вставляются его дети.
Это единственное и основное свойство documentFragment по сравнению со всеми остальными сущностями DOM.2.Совершенно не важно, используете ли вы в качестве оторванного от DOM контейнера documentFragment или что-то другое.
Важно, что промежуточные вставки идут в оторванный от живого документа DOM.
...
Рейтинг: 0 / 0
append в jQuery
    #38006935
Shitbox2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Честно говоря, первый раз слышу об этом. documentFragment это функция js или метод вставки так называется? Из описания понял, что можно любой узел использовать. И appendTo, как понимаю, вставляет коллекцию таким же способом?
...
Рейтинг: 0 / 0
append в jQuery
    #38006947
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shitbox2Честно говоря, первый раз слышу об этом. documentFragment это функция js или метод вставки так называется? DocumentFragment ЦитируюЭто особенный кросс-браузерный DOM-объект, который похож на обычный DOM-узел, но им не является.
Shitbox2И appendTo, как понимаю, вставляет коллекцию таким же способом?DocumentFragment используется. Как конкретно - смотрите в исходниках jQuery
...
Рейтинг: 0 / 0
append в jQuery
    #38007073
Shitbox2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за статью, не видел раньше!
...
Рейтинг: 0 / 0
append в jQuery
    #38007115
Shitbox2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если я создаю объект jQ и вставляю его в дом $('<p>абв</p>').appendTo($element),
а потом нахожу его $element.find('p').eq(0), то можно гарантировать, что это всегда будет именно тот объект, который создавал раньше и, например, его свойство data будет одним и тем же?
В исходниках jQ пока не смог разобраться...
...
Рейтинг: 0 / 0
append в jQuery
    #38007141
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shitbox2, гарантировать нельзя. Если $element до выполнения appendTo уже содержал дочерние элементы, среди которых есть <p>, то $element.find('p').eq(0) вернёт не то, что Вам нужно.
...
Рейтинг: 0 / 0
append в jQuery
    #38007154
Shitbox2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, вполне возможно, что будет содержать. А как сделать так, чтобы можно было гарантировать? Присвоить особый класс или атрибут и искать по нему? Обычно так делают?
...
Рейтинг: 0 / 0
append в jQuery
    #38007164
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shitbox2Если я создаю объект jQ и вставляю его в дом $('<p>абв</p>').appendTo($element),
а потом нахожу его $element.find('p').eq(0), то можно гарантировать, что это всегда будет именно тот объект, который создавал раньше и, например, его свойство data будет одним и тем же?Это будет именно тот объект, гарантирую.
...
Рейтинг: 0 / 0
append в jQuery
    #38007370
Shitbox2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще такой вопрос: В прототипе описываю метод создания нового поля, при вводе чего-нибудь в это поле рекурсивно вызывается этот метод. Проблема с обработчиками событий.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
additem: function () {
	  var a = this 
	  var $item = $('<input type="text" class="linegen">')

          $item.appendTo(this.$element)

	  $item.on( 'keyup', function(){
		a.additem()
	  })

          $item.off(???)
}


За вводом текста должно следить только последнее поле ввода, поэтому при создании нового можно удалять обработчик с предыдущего, но загвоздка в том, что на всех полях могут параллельно висеть другие обработчики, например, автоформатирования ввода, тогда удаляться и они. Как удалить конкретный обработчик? Копаю в направлении создания своего события, но пока ничего не выходит
...
Рейтинг: 0 / 0
append в jQuery
    #38007722
Shitbox2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вычитал про пространство имен, переделал приведенный выше пример так:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
additem: function () {
	  var a = this 
	  var $item = $('<input type="text" class="linegen">')

          $item.appendTo(this.$element)

	  $item.on( 'keyup.additem', function(){
		a.additem()
	  })

         a.$element.children().eq(-2).off('keyup.additem')
}


Но обработчик почему-то не удаляется... Он даже не удаляется если напрямую написать $item.off('keyup.additem'). Что делаю не так?
...
Рейтинг: 0 / 0
append в jQuery
    #38007826
Shitbox2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пробую искать последний элемент в списке таким образом:
Код: javascript
1.
$element.on( 'keyup', '.item:eq(-1)', function)


И опять ничего не выходит! Хотя если указать положительный индекс .item:eq(1), например, то все работает
...
Рейтинг: 0 / 0
append в jQuery
    #38007834
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
append в jQuery
    #38007847
Shitbox2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тоже не работает, да и в моем случае нужно будет не только последний, но и предпоследний элемент смотреть. Селекторы работают, если не прибавлять новых элементов. Чем же тогда .on дублирует .live если он не ставит обработчик на добавленные в DOM элементы?
...
Рейтинг: 0 / 0
append в jQuery
    #38007854
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shitbox2Чем же тогда .on дублирует .live если он не ставит обработчик на добавленные в DOM элементы? Direct and delegated events
...
Рейтинг: 0 / 0
append в jQuery
    #38007875
Shitbox2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так у меня и используется делегиованная обработка. Тот кусок кода можно переписать так:
Код: javascript
1.
$('ul').on( 'keyup', 'li:eq(-1)', function)


Т.е. обработчик вешается на контейнер, но добавленные в него элементы почему-то не обрабатываются. Может неправильно вешаю?
...
Рейтинг: 0 / 0
append в jQuery
    #38007877
Shitbox2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Даже по-русски нашел статью, а то уж думал, что перевел не так: http://jquery.page2page.ru/index.php5/On
...
Рейтинг: 0 / 0
append в jQuery
    #38007899
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
append в jQuery
    #38007900
Shitbox2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самое интересное, что если не указывать фильтр в селекторе, то работает и для добавленных элементов
Код: javascript
1.
2.
$('ul').on( 'keyup', 'li', function) //работает
$('ul').on( 'keyup', 'li:eq(-1)', function) //не работает
...
Рейтинг: 0 / 0
append в jQuery
    #38007904
Shitbox2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
last-child в примере работает! Но eq(-..) нет. Как же тогда найти предпоследний элемент?
...
Рейтинг: 0 / 0
append в jQuery
    #38007909
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наверное это какой-то баг жКвери
...
Рейтинг: 0 / 0
append в jQuery
    #38007918
Shitbox2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо занести в их баг-трекер. Есть какое-нибудь русское сообщество по jQ, которое знает как это делается или имеет связи с командой?
...
Рейтинг: 0 / 0
append в jQuery
    #38008057
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, тогда можно заносить еще
Код: javascript
1.
.on("someevent", ":not(:disabled)", function)


Не смог побороть, пришлось условие в функцию ставить.
...
Рейтинг: 0 / 0
append в jQuery
    #38008827
Shitbox2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Написал им в форму на сайте. Не знаю, учтут ли. В Бутстрап писал, там исправляют достаточно оперативно, кое-что даже в мейлстоун занесли.
...
Рейтинг: 0 / 0
23 сообщений из 48, страница 2 из 2
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / append в jQuery
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]