
07.07.2013, 20:52
|
|
Кандидат Javascript-наук
|
|
Регистрация: 30.03.2012
Сообщений: 128
|
|
|
jQuery же тоже написан на javascript. Он не использует каких-то инопланетных технологий, поэтому - состоит из костылей!)
Я так осваиваю язык, не используя jQuery (я хочу научится и писать на чистом javascript, и не прибегать к jQuery (я его, кстати, немножко презираю с тех пор, когда весь мой код с live-методами нужно было переписывать на on...)).
|
|

07.07.2013, 21:04
|
 |
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
|
Сообщение от Valdemor
|
|
состоит из костылей!
|
Все верно. Но те костыли уже написаны за тебя и тебе не нужно напрягаться с этим. А так да, если изучаешь язык, то в топку jQuery. А иначе получается например вот так.
|
Сообщение от Valdemor
|
|
(я его, кстати, немножко презираю с тех пор, когда весь мой код с live-методами нужно было переписывать на on...)
|
Сколько лет прошло с момента объявления метода live устаревшим до его дропа? Чем тебе угрожали когда ты не по своей воле обновлял библиотеку jQuery?
|
|

07.07.2013, 21:38
|
|
Кандидат Javascript-наук
|
|
Регистрация: 30.03.2012
Сообщений: 128
|
|
|
Новостей по этому поводу я не видел, да и смысла особого удалять live нет - синтаксис практически одинаковый.
А так, функционал расширивается. Когда-нибудь, возможности jQuery подошли бы к новому уровню и смысла использовать старую версию ради одной функции не будет...
|
|

07.07.2013, 22:33
|
|
Кандидат Javascript-наук
|
|
Регистрация: 30.03.2012
Сообщений: 128
|
|
Сообщение от danik.js
|
if (target.matches('div#menu ul#add [name="my"]')){
// do stuff
}
Но это по спецификации. В реале же нужно использовать webkitMatchesSelector || mozMatchesSelector || msMathesSelector || oMatchesSelector (http://caniuse.com/matchesselector)
Кроме того, нет никакого смысла проверять контекст элемента, имеющего id, так что ваш пример плохой.
В jQuery есть кроссбраузерный метод проверки на соответствие селектору, но даже он вам не понадобится, так как в jQuery есть удобный способ делегирования обработки событий.
|
Нет, этот способ не подходит. target - элемент. Как мне узнать всё, сплошь до name родителя?
|
|

08.07.2013, 07:26
|
 |
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
|
Сообщение от Valdemor
|
|
target - элемент
|
Это к чему вобще сказано?
|
Сообщение от Valdemor
|
|
Как мне узнать всё, сплошь до name родителя
|
var parentName = target.parentNode.name;
|
|

08.07.2013, 21:01
|
|
Кандидат Javascript-наук
|
|
Регистрация: 30.03.2012
Сообщений: 128
|
|
Сообщение от nasqad
|
|
Не хочу вас разочаровывать но за полтора года осваивания вы все еще спрашиваете совета в задачах первого дня обучения.
|
Я изучал другие языки, а о javascript забыл.
Сообщение от danik.js
|
|
Это к чему вобще сказано?
|
К тому, что твой совет насчет matches не подходит - у меня есть тег, но никак не строка. Кстати, функция matches не существует.
Сообщение от danik.js
|
var parentName = target.parentNode.name;
|
Но у меня же строка не только с параметрами тегов! У меня там могут быть id'ы, классы, имена, селекторы. Мне их выделять при помощи регулярного выражения и добавить это в строку? Не многова-то ли выходит?
|
|

08.07.2013, 21:19
|
 |
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
|
Сообщение от Valdemor
|
|
К тому, что твой совет насчет matches не подходит - у меня есть тег, но никак не строка.
|
Ты очень странный человек, так что спорить не буду. Ты спросил как проверять target - я предложил удобный вариант. Не подходит - тебе видней.
|
Сообщение от Valdemor
|
|
Кстати, функция matches не существует.
|
Да ладно???
|
Сообщение от danik.js
|
|
Но это по спецификации. В реале же нужно использовать webkitMatchesSelector || mozMatchesSelector || msMathesSelector || oMatchesSelector (http://caniuse.com/matchesselector)
|
Видимо я пишу в пустоту, надо завязывать...
|
|

09.07.2013, 00:15
|
|
Кандидат Javascript-наук
|
|
Регистрация: 30.03.2012
Сообщений: 128
|
|
|
Ой, извините, просто гуглил matches - только о match результаты были, а о webkitMatchesSelector - так вообще 2 страницы.
Извините за отобранное время и спасибо за ответ!
|
|
|
|