Вопрос по обработке DOM-элементов, добавленных динамически с помощью AJAX

12
Ayavryk
На сайте с 11.10.2003
Offline
209
#11
kostyanet:
Прикол, жиквери не естественный в принципе. Это же тупо объект в который засунут элемент как проперть

Т.е. элемент DOM это тоже объект не извращение, его жуткий синтаксис - не извращение, разночтение полей вплоть до краха системы это не извращение, а удобная обертка вокруг этого ужаса - извращение???? Месье, знает толк :)

kostyanet:
а вы не поняли что у него речь о практике программирования, о приемах, а не о терминах языка... Грамотный программист знает про бублинг и капчуринг. Дополнительных терминов не требуется

грамотный программист знает не про баблинг и капчуринг, а про шаблон делегирования событий. Ну и в контексте JS (как у Кантора) нужно понимать естественно и "баблинг и капчуринг" если речь идет о делегирования события DOM . В данном конкретном случае ваш выпад был против любителей jquery, которым для делегирования события DOM не нужно юзать этот синтаксический ужас

document.getElementById('#parent').addEventListener('click'...

вместо изящного

$('#parent').click(...

К тому же отмечу что ваш пример в отличие от $ еще и не кроссброузерный.

kostyanet:
Тем не менее в функции: if(url=e.target.getAttribute('h')){} даст бетонную гарантию попадания в цель.

Не даст :) Разработчики броузеров никогда(!) не дают никакой гарантии что страница содержащая ошибки будет правильно обработана, а валидатор https://validator.w3.org/check подсказывает, что " Attribute h not allowed on element a at this point."

Вы застали времена, когда Opera изображала из себя валидатор и отказывалась иметь дело со всем чего не было в W3C? Не так уж и давно это было.

Seredniy Извините, не пятница, но все равно последний рабочий день недели располагает к холиварам. А холивар jQuery ver PureJS это святое :)

Тынгыр, мынгыр, комсомол (http://erum.ru). Ехари, ехари, (жалобно) аяврик. /народная тунгусская песня/
K
На сайте с 03.06.2015
Offline
45
#12

Что и требовалось доказать:

document.getElementById('#parent')

культура жиквери так и прет. :)

Вы все равно не хотите этого понять. Я не против жиквери и ее адептов, но именно такие наблюдения имеются, что как только видишь коды с баксом, там обж фор ич функтион и пофигу, а нативный скрипт почему-то чаще демонстрирует то самое "делегирование".

Это просто другая культура. Какая лучше - ну конечно лучше культурная. Конечно каждый себе напишет Id(key) и все такое, но упаковывать дом-элемент в такой жирдячий объект ради каких-то смехотворных фич - не культурно.

---------- Добавлено 11.06.2015 в 13:29 ----------

Напомню откуда взялся жиквери - это была история нормализации. Которая уже давно подходит к концу.

MYSQL PHP JS HTML CSS SEO TXT США СССР
Ayavryk
На сайте с 11.10.2003
Offline
209
#13
kostyanet:
Что и требовалось доказать:
document.getElementById('#parent')

культура жиквери так и прет. :)

А я и не отрицаю :) Уже несколько лет вынужден обходиться без него. Но синтаксис $ активно юзаю в своей собственной библиотеке.

kostyanet:
упаковывать дом-элемент в такой жирдячий объект ради каких-то смехотворных фич - не культурно.

Мне приходилось когда-то писать программы в машинных кодах на перфокартах. Это намного "культурнее" чем как сейчас. В кодах программы получались эффективнее, а перфокарты в случае ядерного удара не теряли информацию в отличие от современных носителей. Но писать программы как мы с вами сейчас пишем, намного удобнее. Ну а ядерную войну мы все равно не переживем.

kostyanet:
]Напомню откуда взялся жиквери - это была история нормализации. Которая уже давно подходит к концу.

Никто никуда не ушел. Пока мерзотный DOM/JS синтаксис жив, синтаксис DOM/jQuery никуда не денется (В jquery, zepto или куче других аналогичных библиотек). Он красив, понятен и лаконичен. В отличие от альтернатив, которые еще хуже. Поэтому все конкуренты вымерли, а то что идет дальше (MV*, UI-фреймворки) или идут в паре с jQuery или идут лесом. В ExtJS к примеру есть родная DOM-библиотека, но она настолько ужасна, что в основном если есть надобность юзают jQuery

Seredniy
На сайте с 17.03.2008
Offline
251
#14

я запустил тут холивар))

А вообще, я просто запутался в последние дни. Jquery юзаю для небольших дополнений в вп, не строю супер-тяжеловесных приложений.

Wordpress и другие CMS: правки, настройка, верстка и натяжка шаблонов, разработка сайтов "под ключ" (/ru/forum/1008050)
Ragnarok
На сайте с 25.06.2010
Offline
226
#15

Seredniy, возможно Вам поможет событие ajaxComplete


$( document ).ajaxComplete(function() {
$( ".log" ).text( "Triggered ajaxComplete handler." );
});

функции можно вешать одновременно на ajaxComplete и ready


$j(document).bind("ready ajaxComplete",function(){
//TODO: перестать откладывать на потом
[Удален]
#16
kostyanet:
но упаковывать дом-элемент в такой жирдячий объект ради каких-то смехотворных фич - не культурно.

для подавляющего большинства пользователей, с jQuery будет намного проще решить свои задачи ;)

а по поводу смехотворных фич, всё зависит от целей и задач ;)

K
На сайте с 03.06.2015
Offline
45
#17

Конечно, будто бы я не видел всех этих чудесатых селекторов. Я начинал веб-программирование с юзерских скриптов, поэтому насмотрелся хтмлей и кодов как поп крестов. Иначе же не напишешь, не поймаешь чего там надо выловить и не запустишь чего надо запустить на странице из того, что она принесла.

JQ несомненно в этом мастак, и программирует тем самым культуру верстки. А зачем предусматривать идентификаторы, есть же жиквери. Вот тут скопипастим, туда вставим, аргументом, он все и найдет. Конечно, любая система так устроена, чтобы саму себя поддерживать и оправдывать. Это вся истина. Остальное - димедрол.

Хотите проверить? Откройте код страницы по адресу google.com и убедитесь что нет там жиквери. Парадокс?

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий