Событие hasfocus в нокауте не работает при первом нажатии - PullRequest
0 голосов
/ 13 февраля 2019

Я использую событие нокаута hasfocus для проверки номера телефона, в то время как фокус из ошибки проверки поля ввода должен всплывать, но это происходит только тогда, когда я нажимаю на него во второй раз, если я пробую его в первый раз, ничего не происходит, у меня естьпопытался отладить его, добавив точку останова в функцию, поэтому я понял, что появляется сообщение об ошибке msg, но что-то происходит, и сообщение об ошибке удаляется при первом нажатии
Может кто-нибудь помочь, пожалуйста?

widget.isShippingPhoneFocus.subscribe(function (newValue) {
          if (!newValue) {
            var phoneValid = widget.validatePhone();
            if (!phoneValid) {
              widget.isPhoneValid(false);
              $('#CC-checkoutAddressBook-sphone-error').text(widget.phoneErrorMsg());
              $('#CC-checkoutAddressBook-sphone-error').show();
            } else {
              $('#CC-checkoutAddressBook-sphone-error').hide();
              widget.isPhoneValid(true);
            }
          }
        });
<input type="tel" class="form-control" name="sPhone" id="CC-checkoutAddressBook-sphone" data-bind="validatableValue: phoneNumber, widgetLocaleText:{value:'phoneNumberText',attr:'placeholder'}, valueUpdate:'keyup', hasFocus: $parent.isShippingPhoneFocus">

1 Ответ

0 голосов
/ 18 февраля 2019

в начале, пока вы применяете привязки для виджета, попробуйте задать ложное значение для isShippingPhoneFocus.Это может решить проблему.

...