Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Повесить дополнительный обработчик на input с jQuery masked input (https://javascript.ru/forum/jquery/80350-povesit-dopolnitelnyjj-obrabotchik-na-input-s-jquery-masked-input.html)

gar1999 25.05.2020 23:39

Повесить дополнительный обработчик на input с jQuery masked input
 
Есть необходимость добавить обработчик
"$('.phone_input').on('input', function() {..."
на поле ввода телефона, на которое уже поставлена маска плагина jQuery masked input.

// так мой обработчик НЕ РАБОТАЕТ
<html>
<input class="phone_input"></div>

<script>
$(".phone_input").on("input", function() {
console.log($(".phone_input").val());
});

$(".phone_input").mask("+7 (999) 999-9999");



// а без masked input'a - обработчик работает замечательно

<html>
<input class="phone_input"></div>

<script>
$(".phone_input").on("input", function() {
console.log($(".phone_input").val());
});

Мне нужно, чтобы и плагин работал, и я мог ставить на элемент свои обработчики.
Помогите, пожалуйста, разобраться, в чём проблема, и как её исправить.

Ссылки на плагин:
https://plugins.jquery.com/maskedinput/
https://github.com/digitalBush/jquery.maskedinput

Заранее спасибо, ребята.

рони 26.05.2020 00:17

gar1999,
$("body").on("change", ".phone_input", function() {
console.log(this.value);
});


сработает при потере фокуса при наличии номера согласно маске

gar1999 26.05.2020 10:37

рони,
доброго дня и большое спасибо.

Но всё же, мне хотелось бы on("input"), а не on("change").

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

Можно ли реализовать такой вариант?

И если Вам не сложно и не отнимет много времени, всё же почему не работает моя конструкция? Почему не срабатывает on("input"?

Ещё раз спасибо.

рони 26.05.2020 13:51

Цитата:

Сообщение от gar1999
Почему не срабатывает on("input"?

потому что плагин стирает все обработчики.
Цитата:

Сообщение от gar1999
при попытке пользователя изменить телефон

что мешает проверить номер по change?
может поискать другой плагин?
https://javascript.ru/forum/dom-wind...tml#post465304


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