2014-12-02 47 views
-2

当我选择日期时,datepicker重新打开本身,因为我添加了$(this).focus();在onSelect。我该如何解决这个问题? (Example)避免在日期选择后在Internet Explorer中重新打开日期选择器

$('#datepicker').datepicker({ 
    onSelect : function(x, u){ 
    $(this).focus(); 
    } 
}); 

我想要那个焦点必须。我无法消除那个焦点。请告诉我一些解决方案,而不要消除这个焦点。

+2

它工作完美的小提琴..什么问题? – 2014-12-02 06:40:23

+0

在铬中工作正常。 – 2014-12-02 06:40:45

+0

它只发生在IE浏览器 – 2014-12-02 06:40:54

回答

-1

请注意,在jquery ui datepicker选择之后,模糊和更改事件在焦点返回到输入字段之前触发,IE中焦点事件始终存在问题。

解决方法是以下

//Example using triggerHandler 
$(function() { 
    "use strict"; 
    $('#datepicker').datepicker({ 
     onSelect : function(x, u){ 
      format: "dd/mm/yyyy" 
     }, 
     onClose: function(dateText) { 
      $(this).triggerHandler("focus"); 
      $(this).triggerHandler("blur"); 
     } 
    }); 
}); 

给这对我的工作, 使用triggerHandler http://jsfiddle.net/shaikhimran786/w6fvuL18/

使用triggerHandler解决问题是指

//例。

triggerHandler()方法触发所选元素的指定事件。

除了trigger()还触发事件的默认行为(如表单提交)之外,此方法与trigger()方法类似。

和另一种解决方案是

//Example using hide datepicker 
$(function() { 
    "use strict"; 
    $('#datepicker').datepicker({ 
     onSelect : function(x, u){ 
      format: "dd/mm/yyyy" 
     } 
    }); 
    $('.dp').on('change', function() { 
     $('.datepicker').hide(); 
    }); 
}); 

参考以下链接

//例使用隐藏日期选择器 http://jsfiddle.net/shaikhimran786/xj9tkvtd/

希望此修复程序将帮助你解决你的问题。

相关问题