2011-08-09 48 views
1

有谁知道防止jQuery timepicker addon在关注文本框时自动打开的方法吗?该文档似乎没有提供一种方式,我目前正在查看源代码,看看我是否可以添加功能但我忽略了一种简单的方法来完成此操作?防止jQuery timepicker插件自动打开

+0

当你想要的时候选择器开? –

+0

稍后稍后。例如按下按钮。 –

+0

然后不要调用'$('#yourelement')。datetimepicker();'直到触发按钮点击事件。 –

回答

2

如何在点击按钮时启动datetimepicker(以及如何聚焦输入框),并在拾取器关闭时销毁对象?

$('#button').click(function() { 
    $('#timepicker').datetimepicker({ 
     onClose: function(dateText, inst) { 
      $(this).datetimepicker('destroy'); 
     } 
    }).focus(); 
}); 

实施例:http://jsfiddle.net/william/NRH9r/

+0

聪明,好多了,然后我想出了。谢谢! –

0

尝试使用名为unbind()的jquery函数从datetimepicker中删除onfocus事件。然后,您可以在触发点击事件或任何其他想要触发的事件时调用日期时间选择器的实例。另一种选择是调用触发datetimepicker的onfocus事件,并将事件对象传入回调函数。然后调用例如event.preventDefault()。这将阻止onfocus()事件执行通常的操作。

+0

你最简单的解决方案是$(document).ready(function(){('。selector')。datepicker({showOn:'button'}); }); –

0

作为timepicker是一个插件到jQuery UI的日期选择器,则可以使用showOn选项来指定一个按钮用于触发它。请参阅日期选择器示例here

这里有一个如何这可以用于时间选择器的例子:

$('input:text.timepicker').timepicker({ 
     showOn: "button", 
     buttonImage: "/content/images/time_icon.png", 
     buttonImageOnly: true 
    });