Правильно вешаем обработчик события
Приветствую!
Возник такой вопрос для знающих. Предположим есть класс .only-one, и с помощью js устанавливается ограничение что в данное поле можно вводить только цифру 1 $('.only-one').on('keydown', function(key){ return ((key.keyCode == 49); }); Предположим, что поле с данным классом было добавлено в DOM поле AJAX запроса, соответственно на него не расспространится событие keydown и его (это событие) нужно указывать для вновь добавленного поля. Есть два варианта: 1. Сделать это после успешного выполнения AJAX, т.е. в success callback повторить вызов функции 2. Изначально прописать событие немного по другому: $('body').on('keydown', '.only-one', function(key){ return ((key.keyCode == 49); }); И тогда событие keydown будет "вешаться" автоматически на все поля с классом .only-one Но вопрос как правильно поступить? Я не очень понимаю как работает событийная модель при втором способе записи. Подскажите плиз |
|
himukami, вообще то правильно вешать на ближайшего статичного родителя, а не body и тому подобное...
|
Цитата:
|
А, понял, там же $('body').on()
Цитата:
Ты не понимаешь из-за жиквери, я тож не сразу понял. Напиши сам микро-роутер и все будет ясно как пень. |
Rise, это жиквери-стайл, они не парятся такими деталями, масштабно мыслят, лал.
|
Цитата:
Цитата:
В моем примере просто поле с классом .only-one может быть где угодно, хотя скорее можно было повешать на form, все равно поле в форме (скорее всего :) ) warren buffet Спасибо за пояснения :) |
himukami, ну так выкинь свой классовый мир на помойку истории и начни мыслить индустриально. Проверка полей - это валидация и зависит только от свойств поля. А какие у твоего поля свойства? Правильно - никакие. Свойства поля болтаются в натравленном на ЭТО поле скрипте. Натравливание скрипта на поле и создает синергию твоего говнокода.
А в промышленности делается наоборот. Скрипт одинаковый для всех полей, а поля имеют свойства. |
Цитата:
Сделай наоборот <input type="number" max="1"> И тогда один и тот же скрипт проверит правильность любого поля просто сравнивая по правилу приделанному к самому полю. Это частный случай, случаи более общего порядка реализуются через атрибут pattern |
Цитата:
|
Часовой пояс GMT +3, время: 16:57. |