|
|
|
| Здравствуйте! много форм в некоторых действует focus в локальном скрипте....
Создается универсальный скрипт с focus() . Можно ли учитывать, что на странице уже есть фокус, тогда в универсальном его не применять? | |
|
|
|
|
|
|
|
для: vadimka
(07.06.2012 в 13:42)
| | В документе может быть только одно сфокусированное поле в один момент времени. Исходите от данной аксиомы :) | |
|
|
|
|
|
|
|
для: vadimka
(07.06.2012 в 13:42)
| | при фокусе добавлять класс инпуту, и при использовании глобальных скриптов, проверять есть ли в дом-дереве элемент с нужным классом, если есть не применять, если нету - применять | |
|
|
|
|
|
|
|
для: Lelik
(07.06.2012 в 15:32)
| | Один вопрос - зачем?
//<?
var focusedElement = null;
$('.any').focus(function() {
focusedElement = $(this);
}).blur(function() {
focusedElement = null;
});
|
| |
|
|
|
|
|
|
|
для: bishake
(07.06.2012 в 15:40)
| | на портале десятки страниц с формами, некоторые имеют focus() в том input , в котором юзер сделал ошибку при заполнении, нужно прикрутить focus() ко всем первым элементам формы на всех страницах, соответственно если на странице имеется focus(), чтоб универсальный focus() не работал.... | |
|
|
|
|
|
|
|
для: vadimka
(07.06.2012 в 16:12)
| | Что вам мешает дополнить функцию "универсального фокуса" проверкой на наличие полей с ошибками? | |
|
|
|
|
|
|
|
для: vadimka
(07.06.2012 в 16:12)
| | в jquery можно воспользоваться селектором :focus | |
|
|
|
|
|
|
|
для: AlexSol
(07.06.2012 в 16:49)
| | Ещё один :)
Похоже, тут никому не дано понять, что селекторы по классу / псевдо-классу - это проход по всему дереву DOM. Если на странице может быть только ОДИН фокусированный элемент, то зачем идти по ВСЕМ элементам?
Тут надо либо переменную использовать, либо св-во $( document.activeElement ). В любом случае, нужно где-то хранить ссылку на активный элемент, и откуда-то её доставать. | |
|
|
|
|
|
|
|
для: bishake
(07.06.2012 в 16:59)
| | Ещё один :)
хамите парниша
В любом случае, нужно где-то хранить ссылку на активный элемент, и откуда-то её доставать.
в большинстве случаев краткость записи (многим лень вносить глобальную переменную) побеждает рассуждения на тему производительности, в большинстве случаев эта победа не критична (судя по подходу, вам это должно быть понятно) | |
|
|
|
|
|
|
|
для: Lelik
(07.06.2012 в 17:34)
| | Давайте плодить говно-код по всему рунету, и пусть все его используют. Только потом не удивляйтесь, почему у вас браузеры отжирают всю оперативку.
Если у человека "краткость записи побеждает рассуждения на тему производительности", то ему нечего делать в программировании. | |
|
|
|
|
|
|
|
для: bishake
(07.06.2012 в 17:44)
| | Давайте плодить говно-код по всему рунету, и пусть все его используют.
чисто академический интерес, как часто вы встречаете в рунете (да и вообще на просторах мировых интернетов) хороший, в вашем понимании, код?
Если у человека "краткость записи побеждает рассуждения на тему производительности", то ему нечего делать в программировании.
см. выше. | |
|
|
|
|
|
|
|
для: Lelik
(07.06.2012 в 17:48)
| | В том-то и дело, что хороших веб-программистов очень мало, потому и соответственно хорошего кода так же мало. Ну так давайте не плодить его еще больше! Любой неосторожный совет может вызвать цепную реакцию - потом так же будет делать дядя Вася, потом его коллега, потом девушка коллеги и т.д....
Как Вы сказали, "многим лень создавать глобальную переменную". Значит и Вам так же лень, только потому, что по-вашему просторы интернета уже обречены, и обилия быдло-кода уже не избежать? | |
|
|
|
|
|
|
|
для: bishake
(07.06.2012 в 17:53)
| | В том-то и дело, что хороших веб-программистов очень мало
это не только программирования касается, потому можно считать нормой жизни.
В том-то и дело, что хороших веб-программистов очень мало, потому и соответственно хорошего кода так же мало
вы говорите как преподаватель вуза, который оторван от решения реальных задач, ведь есть такие вещи как сроки/деньги, которые влияют на качество кода не меньше профессионализма. зря вы думаете, что научив кого-то делать правильно, то он всё время будет придерживаться этого.
Значит и Вам так же лень, только потому, что по-вашему просторы интернета уже обречены на обилие быдло-кода?
я разделяю задачи, на те когда необходимо уделять внимание производительности, и когда - нет. В зависимости от этих требований и пишу код. | |
|
|
|
|
|
|
|
для: Lelik
(07.06.2012 в 18:03)
| | Вы так говорите, как будто создание новой переменной по времени в 10 раз дольше чем написание ":focus". Ну раз так, то думаю, тут и спорить не о чем. Да и не люблю я такие холивары, особенно без участия ТС :). Предлагаю остаться при своем мнении. | |
|
|
|
|
|
|
|
для: bishake
(07.06.2012 в 18:12)
| | Предлагаю остаться при своем мнении.
по другому, обычно, не бывает :) | |
|
|
|
|
|
|
|
для: Lelik
(07.06.2012 в 18:18)
| | Бывает так, что кончают суиицидом. | |
|
|
|
|
|
|
|
для: bishake
(07.06.2012 в 18:29)
| | надеюсь вы в этих спорах не участвовали :)) | |
|
|
|
|
|
|
|
для: Lelik
(07.06.2012 в 18:36)
| | Я просто всегда выигрываю :)) | |
|
|
|
|
|
|
|
для: bishake
(07.06.2012 в 16:59)
| | Похоже, тут никому не дано понять, что селекторы по классу / псевдо-классу - это проход по всему дереву DOM. Если на странице может быть только ОДИН фокусированный элемент, то зачем идти по ВСЕМ элементам?
и если уж на то пошло, то jquery кеширует ссылки на элементы, и потому повторных прогулок по ДОМ-дереву не будет, будет обход кеша. | |
|
|
|
|
|
|
|
для: Lelik
(07.06.2012 в 18:07)
| | И всё же будет обход :) | |
|
|
|
|
|
|
|
для: bishake
(07.06.2012 в 18:09)
| | я имел ввиду, что если по классу элемент искать, повторно по всему ДОМ-дереву в поисках нужных элементов бегать не будет скрипт, а сразу на нужные. вот :) | |
|
|
|
|
|
|
|
для: bishake
(07.06.2012 в 16:59)
| | и в чем проблема? работать будут оба варианта - сохранение значения в переменной / обход DOM | |
|
|
|
|
|
|
|
для: AlexSol
(08.06.2012 в 09:42)
| | Честно, уже не хочется комментировать. Читайте выше. | |
|
|
|