Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 21.11.2014, 21:52
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от klk.pma
Если представленный вариант неправильный, можете показать корректный вариант?
представленный вариант не учитывает сдвиг курсора при вводе данных, а так же конечно кроссбраузерность, например в ИЕ9 нажатие клавиши backspace не вызывает событие oninput. И прочие мелочи, что бы все это учеть нужно намного больше написать. Либо использовать уже существующие решения, например вот этой:
<script type="text/javascript" src="http://devote.github.io/files/letjs/let.js"></script>
<input data-let-input="/^\d+$/" class="digit" type="text" maxlength="8" name="ot" value="">
<input data-let-input="/^\d+$/" class="digit" type="text" maxlength="8" name="do" value="">
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #22 (permalink)  
Старый 21.11.2014, 21:55
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от krutoy
Его смело можно применять, как правило, если место не суперузкое, только с умом.
в том то и дело что его можно и нужно применять там, где без его применения иного способа нет. Я этого не по наслышке а по собственному опыту говорю, когда писал CSS-селектор, именно там производительность играла огромную роль. А использование конструкции for...in мне вставляло камни под колеса.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #23 (permalink)  
Старый 21.11.2014, 21:56
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

Сообщение от devote
сдвиг курсора при вводе данных
А какое он имеет значение?
Сообщение от devote
нажатие клавиши backspace не вызывает событие oninput
И что? по бекспейсу печатается нецифровой символ?
Ответить с цитированием
  #24 (permalink)  
Старый 21.11.2014, 22:00
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

Сообщение от devote
именно там производительность играла огромную роль
Вот где играет, там и не надо писать. Я об этом уже сказал. Если так параноить над каждой строкой кода, совершенству нет предела, будешь до конца жизни один скрипт оптимизировать. forEach, например, тоже работает ОЧЕНЬ медленно.
Ответить с цитированием
  #25 (permalink)  
Старый 21.11.2014, 22:01
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от krutoy
А какое он имеет значение?
курсор ввода, всегда должен оставаться там где его оставил пользователь. А когда меняешь свойство .value у текстового поля, курсор уходит в конец текстового поля. Что не совсем правильно.
Сообщение от krutoy
И что? по бекспейсу печатается нецифровой символ?
Ничего не печатается, а удаляется символ находящийся перед курсором ввода. Но, на это действие ИЕ9 никак не реагирует и не вызывает событие oninput (это просто Баг ИЕ9). Другие события, такие как keypress, keydown и т.д отрабатывают корректно.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #26 (permalink)  
Старый 21.11.2014, 22:02
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

devote,
Кстати, насчет теста я не соврал. В хроме у меня for отработал, в среднем, процентов на 20 быстрей. Видимо, жедезо и ось играет роль.
Ответить с цитированием
  #27 (permalink)  
Старый 21.11.2014, 22:02
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от krutoy
forEach, например, тоже работает ОЧЕНЬ медленно.
ну было бы странно если бы он работал быстрее.. Он же на каждую итерацию вызывает функцию, а вызов функции пожирает большие ресурсы.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #28 (permalink)  
Старый 21.11.2014, 22:06
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

Сообщение от devote
Ничего не печатается, а удаляется символ находящийся перед курсором ввода. Но, на это действие ИЕ9 никак не реагирует и не вызывает событие oninput (это просто Баг ИЕ9)
но в данном случае оно и не нужно.
Ответить с цитированием
  #29 (permalink)  
Старый 21.11.2014, 22:09
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

Сообщение от devote
Другие события, такие как keypress, keydown и т.д отрабатывают корректно.
Я, кстати, протестил события, они работают на порядок медленней oninput в FF и V8. А V8 вообще тормозной при работе с текстовыми полями, я уже который раз замечаю.
Ответить с цитированием
  #30 (permalink)  
Старый 21.11.2014, 22:21
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

Сообщение от devote
не учитывает сдвиг курсора при вводе данных
А нет ли способа для контроля положения курсора? А то, можно было бы и обработать, (хотя это мелочь, в данном случае, это произойдет только если пользователь сдвинет курсор что-то исправлять и введет при этом нецифровой символ --можно забить на это)
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пользовательская функция для графиков aleksey.danchin Общие вопросы Javascript 1 15.06.2014 13:22
AJAX функция для новых html-элементов broadcast77 AJAX и COMET 25 03.03.2014 14:01
поиск классов внутри тега yozuul jQuery 24 14.06.2013 22:00
как прописать условия для полей input и textarea Nailya Общие вопросы Javascript 12 06.06.2013 16:48
Функция onclick для созданных потомков Groonel Общие вопросы Javascript 6 24.04.2009 18:35