解决输入框失焦事件与按钮点击事件冲突的问题

阅读更多

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

 

问题描述:

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

 

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

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

 

解决方案:

方法1、通过给失焦事件设置延迟触发。

方法2、将按钮的点击(click)事件改为按下(mousedown)事件。

  

  

  

      

    Title  

      

      

      

  

  

  

      

  

  

 

  

 

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

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

          setTimeout(function(){  

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

           }, 10);

});

 

 

 

 

.

你可能感兴趣的:(HTML)