Sweetalert确认按钮打破输入字段

时间:2015-12-30 14:53:52

标签: sweetalert

当我在甜蜜的警报上使用输入字段时,我有一个奇怪的错误我不能将光标放在输入字段中这里是一个jsfiddle。

https://jsfiddle.net/gvzwu5st/

如果我包括

showConfirmButton: false

然后它工作得很好这里是小提琴

https://jsfiddle.net/16L4sddt/

1 个答案:

答案 0 :(得分:0)

当你有showConfirmButton: true时,openModal()功能(第653行)会将焦点放在确认按钮上(第662行):

$okButton.focus();

当您尝试单击输入字段时,将调用handleOnBlur()功能(第396行),因为确认按钮失去焦点。函数定义$targetElement变量,该变量引用确认按钮(第397行)。跳过一些线......函数将循环遍历模态的每个按钮,以检查它是否是获得焦点的元素。在您的情况下,目标元素是输入字段,因此它不是任何按钮。变量btnIndex保留值-1。第413-416行:

if (btnIndex === -1) {
  // Something in the dom, but not a visible button. Focus back on the button.
  $targetElement.focus();
}

因此确认按钮($targetElement)会返回焦点,这会阻止输入字段接收它。