当我在甜蜜的警报上使用输入字段时,我有一个奇怪的错误我不能将光标放在输入字段中这里是一个jsfiddle。
https://jsfiddle.net/gvzwu5st/
如果我包括
showConfirmButton: false
然后它工作得很好这里是小提琴
答案 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
)会返回焦点,这会阻止输入字段接收它。