在iPhone这样的移动端测试时,我们会发现onclick事件有大约半秒的延迟,这是因为iOS系统需要等待一段时间来判断用户是点击还是拖动,所以会有失焦与点击事件的冲突。

问题描述:

给一个输入框设置失焦事件之后,失焦事件总是优先其它事件先触发,导致输入完成之后点击提交按钮无效。

输入框自动聚焦事件(解决输入框失焦事件与按钮点击事件冲突的问题)(1)

mousedown:在用户按下了任意鼠标按钮时触发。不能通过键盘触发这个事件。

mouseup:在用户释放鼠标按钮时触发。不能通过键盘触发这个事件。

解决方案

输入框自动聚焦事件(解决输入框失焦事件与按钮点击事件冲突的问题)(2)

项目里还遇到一个问题,这里我是需要点击input框,弹出一个时间选择框。在IOS上发现点击input框后弹出时间选择框时,input会有焦点

$('#testInput').mousedown(function(e) {

setTimeout(function(){

$("#testInput").blur();

}, 10);

});

,