Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Какой код лучше/целесообразнее (https://javascript.ru/forum/jquery/66562-kakojj-kod-luchshe-celesoobraznee.html)

Maxim91 23.12.2016 14:47

Какой код лучше/целесообразнее
 
Вложений: 1
Всем привет, какой код из приведенных двух вариантов кода на миниатюре лучше и целесообразнее использовать и почему? В чем их отличия?

рони 23.12.2016 14:51

Maxim91,
смотря что вам нужно, если свернуть экран первый вариант не сработает.

Maxim91 23.12.2016 15:02

Цитата:

Сообщение от рони (Сообщение 438768)
Maxim91,
если свернуть экран первый вариант не сработает.

хм.. А почему? Просто спросили, в чем отличия этих двух вариантов, а я и разницы что-то вообще не вижу.. В чем различие между тем, узнаем мы ширину экрана до клика на ссылку или после клика на нее?
Разве что во втором варианте на экранах больше 768px при каждом щелчке по ссылке будет лишний раз грузиться процессор, так как все равно срабатывает .click().

Царь Леонид 23.12.2016 15:06

Maxim91,
разница в том, что в первом варианте событие вообще не будет повешено на элемент, если ширина окна больше 768

Dilettante_Pro 23.12.2016 16:32

Maxim91,
Цитата:

Сообщение от Maxim91
узнаем мы ширину экрана до клика на ссылку или после клика на нее?
Разве что во втором варианте на экранах больше 768px при каждом щелчке по ссылке будет лишний раз грузиться процессор, так как все равно срабатывает .click().

Во-первых, не до клика на ссылку или после, а до описания обработчика клика на ссылку или внутри его.
Отсюда и разница между вариантами:
По первому, если ширина окна при загрузке будет больше 768, то обработчик вообще не создастся и, соответственно, не будет работать при последующих изменениях размера окна.
По второму варианту - обработчик создастся в любом случае, а при изменении размеров окна либо бyдет, либо не будет исполняться preventDefault при клике по ссылке - в зависимости от того, больше или меньше ширина окна, чем 768

Кстати, Царь Леонид,
Цитата:

Сообщение от Царь Леонид
событие вообще не будет повешено на элемент

Не событие, а обработчик события. Событие при клике по ссылке останется в любом случае, только будет обрабатываться по-разному

Царь Леонид 23.12.2016 17:01

Dilettante_Pro,
Я имел ввиду обработчик, да) Не событие конечно

Dilettante_Pro 23.12.2016 17:21

Царь Леонид,
Вы да, а вот ТС, похоже, путается


Часовой пояс GMT +3, время: 15:11.