取消jQuery datepicker默认点击输入

时间:2017-09-01 11:58:52

标签: javascript jquery jquery-ui datepicker

我想问一下是否有办法取消jquery datepicker的默认行为,那么当我点击附加了datepicker的输入字段时,我的自定义逻辑流和datepicker日历都不显示。 我阅读了文档并使用了建议的"隐藏"选项,但似乎无法完美无缺。 这是我使用的js小提琴: jquery datepicker jsfiddle

function hideIt(){
    $( "#datepicker" ).datepicker( "hide" );
    //custom logic
}

function showIt(){   
    $( "#datepicker" ).datepicker("show");
}

3 个答案:

答案 0 :(得分:0)

试试这个

function hideIt(){ 
}

function showIt(){ 
$( "#datepicker" ).datepicker();
$('#datepicker').focus();
$('#datepicker').prop('disabled', true);
}

答案 1 :(得分:0)

无需添加按钮。只需让它来处理datepicker。



$(function() {
  $("#datepicker").datepicker({
    constrainInput: true,
    showOn: 'button',
    buttonText: 'Show It !'
  });
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/base/jquery-ui.css"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.js
"></script>
<p>Date:
  <input type="text" id="datepicker" /> </p>
&#13;
&#13;
&#13;

注意:要防止在文本框上书写,请在需要时将其禁用。

答案 2 :(得分:0)

通过使用带有imageOnly属性的“虚构”按钮,我找到了解决问题的方法。 这是jsfiddle:jsfiddle

使用Javascript:

$(function() {
  $("#datepicker").datepicker({
        showOn: 'button',
    buttonImage: 'randomlocation/nonexisting-calendar-img.gif',
    buttonImageOnly: true,
    buttonText: ''
  })
});


function hideIt(){
        //custom logic
}

function showIt(){   
    $( "#datepicker" ).datepicker("show");
}

HTML:

<p>Date: <input type="text" id="datepicker" onclick="javascript:hideIt();" /></p>
<input type="button" onclick="javascript:showIt();" value="Show It !" />