Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Если уже есть focus то второй не действует
 
 автор: vadimka   (07.06.2012 в 13:42)   письмо автору
 
 

Здравствуйте! много форм в некоторых действует focus в локальном скрипте....
Создается универсальный скрипт с focus() . Можно ли учитывать, что на странице уже есть фокус, тогда в универсальном его не применять?

  Ответить  
 
 автор: bishake   (07.06.2012 в 15:08)   письмо автору
 
   для: vadimka   (07.06.2012 в 13:42)
 

В документе может быть только одно сфокусированное поле в один момент времени. Исходите от данной аксиомы :)

  Ответить  
 
 автор: Lelik   (07.06.2012 в 15:32)   письмо автору
 
   для: vadimka   (07.06.2012 в 13:42)
 

при фокусе добавлять класс инпуту, и при использовании глобальных скриптов, проверять есть ли в дом-дереве элемент с нужным классом, если есть не применять, если нету - применять

  Ответить  
 
 автор: bishake   (07.06.2012 в 15:40)   письмо автору
 
   для: Lelik   (07.06.2012 в 15:32)
 

Один вопрос - зачем?
//<?
var focusedElement null;
$(
'.any').focus(function() {
    
focusedElement = $(this);
}).
blur(function() {
    
focusedElement null;
});

  Ответить  
 
 автор: vadimka   (07.06.2012 в 16:12)   письмо автору
 
   для: bishake   (07.06.2012 в 15:40)
 

на портале десятки страниц с формами, некоторые имеют focus() в том input , в котором юзер сделал ошибку при заполнении, нужно прикрутить focus() ко всем первым элементам формы на всех страницах, соответственно если на странице имеется focus(), чтоб универсальный focus() не работал....

  Ответить  
 
 автор: bishake   (07.06.2012 в 16:15)   письмо автору
 
   для: vadimka   (07.06.2012 в 16:12)
 

Что вам мешает дополнить функцию "универсального фокуса" проверкой на наличие полей с ошибками?

  Ответить  
 
 автор: AlexSol   (07.06.2012 в 16:49)   письмо автору
 
   для: vadimka   (07.06.2012 в 16:12)
 

в jquery можно воспользоваться селектором :focus

  Ответить  
 
 автор: bishake   (07.06.2012 в 16:59)   письмо автору
 
   для: AlexSol   (07.06.2012 в 16:49)
 

Ещё один :)
Похоже, тут никому не дано понять, что селекторы по классу / псевдо-классу - это проход по всему дереву DOM. Если на странице может быть только ОДИН фокусированный элемент, то зачем идти по ВСЕМ элементам?
Тут надо либо переменную использовать, либо св-во $( document.activeElement ). В любом случае, нужно где-то хранить ссылку на активный элемент, и откуда-то её доставать.

  Ответить  
 
 автор: Lelik   (07.06.2012 в 17:34)   письмо автору
 
   для: bishake   (07.06.2012 в 16:59)
 

Ещё один :)
хамите парниша

В любом случае, нужно где-то хранить ссылку на активный элемент, и откуда-то её доставать.
в большинстве случаев краткость записи (многим лень вносить глобальную переменную) побеждает рассуждения на тему производительности, в большинстве случаев эта победа не критична (судя по подходу, вам это должно быть понятно)

  Ответить  
 
 автор: bishake   (07.06.2012 в 17:44)   письмо автору
 
   для: Lelik   (07.06.2012 в 17:34)
 

Давайте плодить говно-код по всему рунету, и пусть все его используют. Только потом не удивляйтесь, почему у вас браузеры отжирают всю оперативку.
Если у человека "краткость записи побеждает рассуждения на тему производительности", то ему нечего делать в программировании.

  Ответить  
 
 автор: Lelik   (07.06.2012 в 17:48)   письмо автору
 
   для: bishake   (07.06.2012 в 17:44)
 

Давайте плодить говно-код по всему рунету, и пусть все его используют.
чисто академический интерес, как часто вы встречаете в рунете (да и вообще на просторах мировых интернетов) хороший, в вашем понимании, код?

Если у человека "краткость записи побеждает рассуждения на тему производительности", то ему нечего делать в программировании.
см. выше.

  Ответить  
 
 автор: bishake   (07.06.2012 в 17:53)   письмо автору
 
   для: Lelik   (07.06.2012 в 17:48)
 

В том-то и дело, что хороших веб-программистов очень мало, потому и соответственно хорошего кода так же мало. Ну так давайте не плодить его еще больше! Любой неосторожный совет может вызвать цепную реакцию - потом так же будет делать дядя Вася, потом его коллега, потом девушка коллеги и т.д....
Как Вы сказали, "многим лень создавать глобальную переменную". Значит и Вам так же лень, только потому, что по-вашему просторы интернета уже обречены, и обилия быдло-кода уже не избежать?

  Ответить  
 
 автор: Lelik   (07.06.2012 в 18:03)   письмо автору
 
   для: bishake   (07.06.2012 в 17:53)
 

В том-то и дело, что хороших веб-программистов очень мало
это не только программирования касается, потому можно считать нормой жизни.


В том-то и дело, что хороших веб-программистов очень мало, потому и соответственно хорошего кода так же мало
вы говорите как преподаватель вуза, который оторван от решения реальных задач, ведь есть такие вещи как сроки/деньги, которые влияют на качество кода не меньше профессионализма. зря вы думаете, что научив кого-то делать правильно, то он всё время будет придерживаться этого.


Значит и Вам так же лень, только потому, что по-вашему просторы интернета уже обречены на обилие быдло-кода?
я разделяю задачи, на те когда необходимо уделять внимание производительности, и когда - нет. В зависимости от этих требований и пишу код.

  Ответить  
 
 автор: bishake   (07.06.2012 в 18:12)   письмо автору
 
   для: Lelik   (07.06.2012 в 18:03)
 

Вы так говорите, как будто создание новой переменной по времени в 10 раз дольше чем написание ":focus". Ну раз так, то думаю, тут и спорить не о чем. Да и не люблю я такие холивары, особенно без участия ТС :). Предлагаю остаться при своем мнении.

  Ответить  
 
 автор: Lelik   (07.06.2012 в 18:18)   письмо автору
 
   для: bishake   (07.06.2012 в 18:12)
 

Предлагаю остаться при своем мнении.
по другому, обычно, не бывает :)

  Ответить  
 
 автор: bishake   (07.06.2012 в 18:29)   письмо автору
 
   для: Lelik   (07.06.2012 в 18:18)
 

Бывает так, что кончают суиицидом.

  Ответить  
 
 автор: Lelik   (07.06.2012 в 18:36)   письмо автору
 
   для: bishake   (07.06.2012 в 18:29)
 

надеюсь вы в этих спорах не участвовали :))

  Ответить  
 
 автор: bishake   (07.06.2012 в 18:43)   письмо автору
 
   для: Lelik   (07.06.2012 в 18:36)
 

Я просто всегда выигрываю :))

  Ответить  
 
 автор: Lelik   (07.06.2012 в 18:07)   письмо автору
 
   для: bishake   (07.06.2012 в 16:59)
 

Похоже, тут никому не дано понять, что селекторы по классу / псевдо-классу - это проход по всему дереву DOM. Если на странице может быть только ОДИН фокусированный элемент, то зачем идти по ВСЕМ элементам?
и если уж на то пошло, то jquery кеширует ссылки на элементы, и потому повторных прогулок по ДОМ-дереву не будет, будет обход кеша.

  Ответить  
 
 автор: bishake   (07.06.2012 в 18:09)   письмо автору
 
   для: Lelik   (07.06.2012 в 18:07)
 

И всё же будет обход :)

  Ответить  
 
 автор: Lelik   (07.06.2012 в 18:10)   письмо автору
 
   для: bishake   (07.06.2012 в 18:09)
 

я имел ввиду, что если по классу элемент искать, повторно по всему ДОМ-дереву в поисках нужных элементов бегать не будет скрипт, а сразу на нужные. вот :)

  Ответить  
 
 автор: AlexSol   (08.06.2012 в 09:42)   письмо автору
 
   для: bishake   (07.06.2012 в 16:59)
 

и в чем проблема? работать будут оба варианта - сохранение значения в переменной / обход DOM

  Ответить  
 
 автор: bishake   (08.06.2012 в 14:32)   письмо автору
 
   для: AlexSol   (08.06.2012 в 09:42)
 

Честно, уже не хочется комментировать. Читайте выше.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования