当前位置: 代码迷 >> JavaScript >> 淘汰赛中的hasfocus事件不适用于首次点击
  详细解决方案

淘汰赛中的hasfocus事件不适用于首次点击

热度:23   发布时间:2023-06-03 18:17:28.0

我正在使用敲除hasfocus事件进行电话号码验证,而从输入字段验证错误中移出焦点应该会弹出,但是只有当我第一次尝试第二次单击它时,才发生这种情况,但我没有尝试过调试在函数中添加一个断点,以便我发现错误消息已显示出来,但是发生了一些事情,并且错误消息在第一次单击时被删除了
有人可以帮忙吗?

 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"> 

在开始时,在为小部件应用绑定时,请尝试为isShippingPhoneFocus赋予错误的值。 它可能会解决问题。

  相关解决方案