Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   textchange plugin (https://javascript.ru/forum/jquery/30273-textchange-plugin.html)

VitAl2013 30.07.2012 09:20

textchange plugin
 
Почему, не работает код?
http://jsfiddle.net/VitaliyAT/QdC9G/3/

Изначально стояла задача отследить внесение даты по русски и перекроить её на USA дату. Но бинд не срабатывает, ни на textchage ни на hastext. Как заставить работать плагин jquery.textchange.min.js ? (родом отсюда: http://www.zurb.com/playground/jquer...e-custom-event)

zlodeeev 30.07.2012 10:49

textchage?? Нужно просто change

VitAl2013 30.07.2012 11:10

cahnge просто в jquery и вводится он как .change(), а не через .bind() (то есть происходит обратный вызов, никаких циклов опроса). Стандартный инструмент change не гибок и реагирует только на действия пользователя, например если изменения вносит скрипт или программа, change не срабатывает.

Вообще в стандартном jquery .change() = .bind('change',function()) Поправте если ошибаюсь. Если в моём примере поменять textcahnge на change, то он начинает работать но по принципу стандартного .change() - смены налету не происходит, только по нажатию Enter

zlodeeev 30.07.2012 11:27

Через JQuery, насколько я знаю - нельзя отследить изменение текстовых полей в реальном времени, как выход - ежесекундная проверка на отличия, что по сути глупость.

А то что вы написали textchange думаете помогло бы) Радует удивление от того, что такой ход не сработал)

Вот такой еще ход есть:
$("#myTextBox").bind("change paste keyup", function() {
   alert($(this).val()); 
});

devote 30.07.2012 11:32

oninput

zlodeeev 30.07.2012 12:38

devote,
А как же друзья с осликом? В спецификации HTML 4.01 событие oninput отсутствует.. Не увидят они этой прелести

devote 30.07.2012 13:01

zlodeeev,
это проблемы тех кто на нем сидит...

zlodeeev 30.07.2012 14:13

devote,
http://www.3dnews.ru/_imgdata/img/20...b_793b8935.png

VitAl2013 30.07.2012 14:50

да, совместимость желательна бы.

change paste keyup - не работает когда изменения вносит скрипт, а руками срабатывает

zlodeeev 30.07.2012 14:52

VitAl2013,
Ну вот защита от ботов) Или же это столь необходимо?

devote 30.07.2012 16:07

zlodeeev,
и чего ты мне эту картинку сунул? ИЕ9 вполне поддерживает событие oninput, правда с небольшими глюками

zlodeeev 30.07.2012 16:41

devote,
Чтобы показать, что они существуют(те кто ездят на осликах) и их большое кол-во. IE9 в картинке только потому что картинка о win7. Первая попавшаяся. А так сам понимаешь, что хром не так давно опередил по кол-ву пользователей ишака, а он тем самым остается одним из "современных" браузеров, который по старнным причинам жутко глуп и не понимает пятых стандартов, а если и понимает(9 версия), то всё равно с багами. В данном случае не будет ловить Ctrl+X или Delete.

devote 30.07.2012 16:43

Цитата:

Сообщение от zlodeeev
В данном случае не будет ловить Ctrl+X или Delete.

эти баги легко обойти

zlodeeev 30.07.2012 19:49

devote,
всё умолкаю... сам пишу код - костыль на костыле...

VitAl2013 31.07.2012 09:40

А это защита от ботов на сайте или это защита внутри event ?

Если я просто вгоняю дату через val('[some data]'), то прокатывает.

У когонить вообще плагин от zurb работает?

По идее мне нужно правильно вносить дату в русской локали - система старая, мопед не мой (USA), все задолбались переключать локаль по 10 раз на дню (а то и вообще вбить все параметры и комментарии, нажать на отправить и получить data error, потеряв всё вбитое). А по сути надо то чтоб дата нормально вписывалась, вот думал пользовательский скрипт сделать - допилить бронзовую систему.

VitAl2013 01.08.2012 08:48

заработал, с какой-то итерации, но похоже защита стоит - реагирует только на заполнение руками хотя и лучше change()

.bind('textchange', function (event, previousText){


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