Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 07.07.2013, 20:52
Кандидат Javascript-наук
Отправить личное сообщение для Valdemor Посмотреть профиль Найти все сообщения от Valdemor
 
Регистрация: 30.03.2012
Сообщений: 128

jQuery же тоже написан на javascript. Он не использует каких-то инопланетных технологий, поэтому - состоит из костылей!)
Я так осваиваю язык, не используя jQuery (я хочу научится и писать на чистом javascript, и не прибегать к jQuery (я его, кстати, немножко презираю с тех пор, когда весь мой код с live-методами нужно было переписывать на on...)).
Ответить с цитированием
  #12 (permalink)  
Старый 07.07.2013, 21:04
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Valdemor
состоит из костылей!
Все верно. Но те костыли уже написаны за тебя и тебе не нужно напрягаться с этим. А так да, если изучаешь язык, то в топку jQuery. А иначе получается например вот так.

Сообщение от Valdemor
(я его, кстати, немножко презираю с тех пор, когда весь мой код с live-методами нужно было переписывать на on...)
Сколько лет прошло с момента объявления метода live устаревшим до его дропа? Чем тебе угрожали когда ты не по своей воле обновлял библиотеку jQuery?
Ответить с цитированием
  #13 (permalink)  
Старый 07.07.2013, 21:38
Кандидат Javascript-наук
Отправить личное сообщение для Valdemor Посмотреть профиль Найти все сообщения от Valdemor
 
Регистрация: 30.03.2012
Сообщений: 128

Новостей по этому поводу я не видел, да и смысла особого удалять live нет - синтаксис практически одинаковый.
А так, функционал расширивается. Когда-нибудь, возможности jQuery подошли бы к новому уровню и смысла использовать старую версию ради одной функции не будет...
Ответить с цитированием
  #14 (permalink)  
Старый 07.07.2013, 22:33
Кандидат Javascript-наук
Отправить личное сообщение для Valdemor Посмотреть профиль Найти все сообщения от Valdemor
 
Регистрация: 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 родителя?
Ответить с цитированием
  #15 (permalink)  
Старый 08.07.2013, 07:26
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Valdemor
target - элемент
Это к чему вобще сказано?
Сообщение от Valdemor
Как мне узнать всё, сплошь до name родителя
var parentName = target.parentNode.name;
Ответить с цитированием
  #16 (permalink)  
Старый 08.07.2013, 21:01
Кандидат Javascript-наук
Отправить личное сообщение для Valdemor Посмотреть профиль Найти все сообщения от Valdemor
 
Регистрация: 30.03.2012
Сообщений: 128

Сообщение от nasqad Посмотреть сообщение
Не хочу вас разочаровывать но за полтора года осваивания вы все еще спрашиваете совета в задачах первого дня обучения.
Я изучал другие языки, а о javascript забыл.
Сообщение от danik.js Посмотреть сообщение
Это к чему вобще сказано?
К тому, что твой совет насчет matches не подходит - у меня есть тег, но никак не строка. Кстати, функция matches не существует.
Сообщение от danik.js Посмотреть сообщение
var parentName = target.parentNode.name;
Но у меня же строка не только с параметрами тегов! У меня там могут быть id'ы, классы, имена, селекторы. Мне их выделять при помощи регулярного выражения и добавить это в строку? Не многова-то ли выходит?
Ответить с цитированием
  #17 (permalink)  
Старый 08.07.2013, 21:19
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Valdemor
К тому, что твой совет насчет matches не подходит - у меня есть тег, но никак не строка.
Ты очень странный человек, так что спорить не буду. Ты спросил как проверять target - я предложил удобный вариант. Не подходит - тебе видней.
Сообщение от Valdemor
Кстати, функция matches не существует.
Да ладно???
Сообщение от danik.js
Но это по спецификации. В реале же нужно использовать webkitMatchesSelector || mozMatchesSelector || msMathesSelector || oMatchesSelector (http://caniuse.com/matchesselector)
Видимо я пишу в пустоту, надо завязывать...
Ответить с цитированием
  #18 (permalink)  
Старый 09.07.2013, 00:15
Кандидат Javascript-наук
Отправить личное сообщение для Valdemor Посмотреть профиль Найти все сообщения от Valdemor
 
Регистрация: 30.03.2012
Сообщений: 128

Ой, извините, просто гуглил matches - только о match результаты были, а о webkitMatchesSelector - так вообще 2 страницы.
Извините за отобранное время и спасибо за ответ!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Установка цвета через функцию .css() сбрасывает цвет для :hover xintrea jQuery 4 18.08.2012 15:38
Создание многомерного массива из PHP ivandelov Общие вопросы Javascript 6 13.06.2012 21:01
Некорректная работа get(set)Attribute в IE для элементов img back to back Internet Explorer 15 09.06.2012 16:52
value для элемента массива Aspiring Общие вопросы Javascript 10 05.09.2010 17:52
Переодическое обновление значений для графика, функция для обновления значений yupa87 Общие вопросы Javascript 0 09.07.2009 14:48