Мой ответ 3. Объясню, почему так:
помню, был метод .live(), потом его удалили, и надо было переделывать на .on(). Так как переделывать было лень, решено было в этих местах оставить JQuery старой версии с поддержкой .live(). А тем временем в новых версиях появлялись новые фишки, да и постоянно думать о том, что используешь старый JQuery - неприятно. Поэтому где можно на других страницах стал использовать новые версии. Появилась путаница в версиях - какие оставлять можно, какие нет.
В общем, переписал сайт на чистом JS без каких-либо фреймворков. Изучить можно на девелопер.мозилла.
Да. Я свободен. Без фреймворков намного удобнее
1. ПТО - 25 Декабря, 2014 - 21:27:31 - перейти к сообщению
2. Мелкий - 25 Декабря, 2014 - 22:27:03 - перейти к сообщению
Это инструмент, к которому тоже надо читать changelog.
Можно и на PHP жаловаться, что это они всякие магические кавычки удаляют, mysql_* объявляют deprecated и прочие полезные изменения последних лет.
Можно и на PHP жаловаться, что это они всякие магические кавычки удаляют, mysql_* объявляют deprecated и прочие полезные изменения последних лет.
3. DeepVarvar - 26 Декабря, 2014 - 03:14:49 - перейти к сообщению
Бред.
Поехали по всем пунктам.
1) Кроссбраузерность, если ты асилил нативный js, то должен понимать - достигается парой условий, да и то не везде, а только в некоторых случаях, в остальном же одинаково для всех браузеров.
2) Чтобы видеть где что, пишут $varName для указания что переменная содержит объект jquery и varName что это нативный js.
3) Практически ничего не поменялось. А если претензия твоя только к live() то ты бредишь, т.к. live() жрет немеряно ресурсов, когда on() можно вешать на родителя и слушать одним ивентом события на потомках (event.originalTarget)
4) Все зависит от ситуации. Попадется тебе проект в котором все на jquery, ты что, откажешься его дорабатывать? А переписывать на чистый будет ох как долго.
Если ты реально запробуешь написать хотябы основное: события, очереди, анимацию, работу с DOM, аякс - то поймешь, что кода у тебя будет хотя и меньше чем в jquery, но это будет глючный, не гибкий, не оттестированый сотнями тясяч людей код.
И кому будет нужно твое поделие?
Хотя, если учитывать твой уровень знаний (судя по топикам на этом форуме) - ты просто ниасилишь написать вменяемую библиотеку.
Докажи делом что я не прав.
Поехали по всем пунктам.
1) Кроссбраузерность, если ты асилил нативный js, то должен понимать - достигается парой условий, да и то не везде, а только в некоторых случаях, в остальном же одинаково для всех браузеров.
2) Чтобы видеть где что, пишут $varName для указания что переменная содержит объект jquery и varName что это нативный js.
3) Практически ничего не поменялось. А если претензия твоя только к live() то ты бредишь, т.к. live() жрет немеряно ресурсов, когда on() можно вешать на родителя и слушать одним ивентом события на потомках (event.originalTarget)
4) Все зависит от ситуации. Попадется тебе проект в котором все на jquery, ты что, откажешься его дорабатывать? А переписывать на чистый будет ох как долго.
Если ты реально запробуешь написать хотябы основное: события, очереди, анимацию, работу с DOM, аякс - то поймешь, что кода у тебя будет хотя и меньше чем в jquery, но это будет глючный, не гибкий, не оттестированый сотнями тясяч людей код.
И кому будет нужно твое поделие?
Хотя, если учитывать твой уровень знаний (судя по топикам на этом форуме) - ты просто ниасилишь написать вменяемую библиотеку.
Докажи делом что я не прав.
4. RickMan - 26 Декабря, 2014 - 10:38:23 - перейти к сообщению
Не так уж и частно появляются обновления которые заставляют менять радикально код, даже скажу больше, такие обновления краааайне редко происходят. И вообще, обновляться надо часто, дабы не возникало таких ситуаций.
И логку чуток не понял. Значит переписать с live() на on() вам было лень, а переписать весь код на читый js с кроссбраузерностью стало не лень?
В любом случае, все уже понимают, что с нынешними браузерами, никому эта кроссбраузерность jquery не нужна, так как относительно js не имеет уже таких радикальных отличий при смене браузера. Плюсы же совсем в другом. Это как писать код на чистом php и в каждом проекте писать все по новой, или использовать symfony с готовой пачкой бандлов. Вроде если не использовать то ты дофигаНезависимыПрограммист, но толку с этого будет мало.
Имхо.
И логку чуток не понял. Значит переписать с live() на on() вам было лень, а переписать весь код на читый js с кроссбраузерностью стало не лень?
В любом случае, все уже понимают, что с нынешними браузерами, никому эта кроссбраузерность jquery не нужна, так как относительно js не имеет уже таких радикальных отличий при смене браузера. Плюсы же совсем в другом. Это как писать код на чистом php и в каждом проекте писать все по новой, или использовать symfony с готовой пачкой бандлов. Вроде если не использовать то ты дофигаНезависимыПрограммист, но толку с этого будет мало.
Имхо.
5. armancho7777777 - 26 Декабря, 2014 - 11:24:05 - перейти к сообщению
Новичок пишет:
Я не люблю котят.
Профи пишет:
Ты просто не умеешь их готовить...
6. DelphinPRO - 26 Декабря, 2014 - 12:10:50 - перейти к сообщению
ПТО пишет:
Без фреймворков намного удобнее
Мой мир перевернулся с ног на голову.....
(Добавление)
Добавлю по поводу live()
Он не был удален неожиданно. Сначала был объявлен deprecated, по-моему в 1,7, и только в 1,9 был удален.
К тому же еще в 1,4 появилась .delegate(), странно, что так долго использовали live().
В общем следим за новостями, читаем release notes и стараемся идти в ногу со временем.
7. MAXUS - 27 Декабря, 2014 - 09:58:00 - перейти к сообщению
Памоему, jq - это библиотека, которая дала мощный толчок популяризации js. Там есть очень много чему поучиться. Но я jq не люблю, потому что:
- начал с нативного js
- соответственно, никак не асилю приготовление котят в микроволновке, хотя это и быстрее
- но в основном это политическое предубеждение, поскольку постоянно встречаю фразы типа начал изучать js с просьбой пояснить, как тут в jq избы строят, а еще больше раздражает, когда напишешь ченить элементарное на js, а тебя спрашивают - это че такое, не давайте на jq!!!
- начал с нативного js
- соответственно, никак не асилю приготовление котят в микроволновке, хотя это и быстрее
- но в основном это политическое предубеждение, поскольку постоянно встречаю фразы типа начал изучать js с просьбой пояснить, как тут в jq избы строят, а еще больше раздражает, когда напишешь ченить элементарное на js, а тебя спрашивают - это че такое, не давайте на jq!!!
8. Bio man - 27 Декабря, 2014 - 17:48:29 - перейти к сообщению
MAXUS пишет:
Думаешь? Почему ты так думаешь?библиотека, которая дала мощный толчок популяризации js.
MAXUS пишет:
все начинают с нативного JS. jQuery тоже нативный JS, если что. Не нативный JS это, например, Coffee Script (других не знаю). Но я понял о чём ты. И не считаю это аргументом, так как иначе никак.начал с нативного js
MAXUS пишет:
собственно для этого и делался jQ, что бы облегчить работу и избавить от изобретения своего jQ.соответственно, никак не асилю приготовление котят в микроволновке, хотя это и быстрее
MAXUS пишет:
но в основном это политическое предубеждение
MAXUS пишет:
это не повод отказываться от jQ или его не любить. В первую очередь jQ для разработчиков, и если какой то чайник ничего в этом не смыслит - это его проблемы.поскольку постоянно встречаю фразы типа начал изучать js с просьбой пояснить, как тут в jq избы строят, а еще больше раздражает, когда напишешь ченить элементарное на js, а тебя спрашивают - это че такое, не давайте на jq!!!
Глупо отказываться от jQ, но и глупо лепить где попало и как попало используя jQ. Всё зависит от задачи.
9. nerv - 27 Декабря, 2014 - 23:44:31 - перейти к сообщению
ПТО пишет:
часто меняются функции
и на трамвае ты ездить не будешь, т.к. кондукторши там разные
и хлеб с молоком перестанешь покупать, т.к. их стоимость пляшет
а вообще... предновогодний вброс засчитан
10. esterio - 29 Декабря, 2014 - 01:43:28 - перейти к сообщению
Bio man пишет:
Глупо отказываться от jQ, но и глупо лепить где попало и как попало используя jQ. Всё зависит от задачи.
а я поддержу например такое
CODE (javascript):
скопировать код в буфер обмена
скопировать код в буфер обмена
- $('#checkbox').on('change', function(e){
- if($(this).prop('checked')){
- // ... bla bla bla
- }
- });
если можна напрямую
CODE (javascript):
скопировать код в буфер обмена
скопировать код в буфер обмена
- $('#checkbox').on('change', function(e){
- if(this.checked){
- // ... bla bla bla
- }
- });
деплят куда попало jq по надобности и без. и мой пример не вершина айзберга, потмоу что можна еще согласиться с тем что нужно писать в одном стиле. но примеров достаточно