Javascript:关于blur获取事件';移动safari上的相关目标

Javascript:关于blur获取事件';移动safari上的相关目标,javascript,ios,validation,safari,blur,Javascript,Ios,Validation,Safari,Blur,所以,我有一个自定义验证的表单,它在输入模糊事件时被触发 很好 如果页面上存在验证错误,表单提交将阻止表单提交 实际上,这意味着如果有一个错误的信息,它的重点是。。。。如果单击“提交”按钮,首先会触发元素的模糊,然后提交。。。但是因为元素是 实际上,我必须点击提交两次。。。。第一次重新验证元素,第二次再次触发提交…(当所有元素都有效时) 所以,我喜欢 if ( event.relatedTarget && event.relatedTarget.type === "submit"

所以,我有一个自定义验证的表单,它在输入模糊事件时被触发

很好

如果页面上存在验证错误,表单提交将阻止表单提交

实际上,这意味着如果有一个错误的信息,它的重点是。。。。如果单击“提交”按钮,首先会触发元素的模糊,然后提交。。。但是因为元素是

实际上,我必须点击提交两次。。。。第一次重新验证元素,第二次再次触发提交…(当所有元素都有效时)

所以,我喜欢

if ( event.relatedTarget && event.relatedTarget.type === "submit" ) {
...
}
并检查(元素模糊事件的)煽动者是否是提交按钮…如果是,我跳过验证并直接触发提交。。。。(它自己处理验证)

即使在OSX中,它也能完美地工作

问题是移动狩猎。。。这根本不会填充事件。relatedTarget。。。(提交单击时始终为空…它仅在其他元素的焦点上填充)


如何在iOS上获取煽动者?

我遇到了同样的问题,我必须在表单上按两次提交按钮(在iOS上)。令人惊讶的是,我发现这个解决方案有效:


起初不清楚,但使用此解决方案,mousedown事件会阻止正常模糊事件的发生,但如果单击“完成”在iOS键盘上,它会让模糊事件运行,因为没有mousedown事件。

你能解释解决方案而不是链接到它吗?我之所以链接到它,是因为已经发布的讨论很长。