旧帖子,但可能有助于未来参考。
前几天遇到了同样的问题。关于您的第一个问题:是什么触发了移动 Safari 上的模糊事件?->在触摸事件(iPad/iPhone)的情况下不会触发。
我通过在封闭的 div 上设置一个事件侦听器来处理它。与您(至少我)可能期望的相反,您想要听的事件是“点击”。下面是简化的情况:
<div id="enclosing-div">
<input type="date" "id="date-picker-field">
<!--Whatever other elements you might have in the enclosing div-->
</div>
现在你的 js 可能看起来像这样:
//js
//Get the enclosing div
var enclosingDiv = document.getElementById('enclosing-div');
//Set up an event listener
enclosingDiv.addEventListener('click', blurEnclosedElements);
//function to handle the event listener
function blurEnclosedElements(){
//Get the element(s) you want to blur and apply your blur logics to it
}