jQuery Datepicker - 今天不要突出显示

时间:2016-07-26 17:23:18

标签: jquery jquery-ui datepicker

我正在使用jQuery Datepicker(jQuery 1.11.3 / jQuery UI 1.11.4>我已经绑定到这些版本,无法以任何方式更改或更改它们。)

开箱即用,jQuery Datepicker今天以下列方式突出显示:

    <td class="ui-datepicker-days-cell-over ui-datepicker-current-day ui-datepicker-today"> <a class="ui-state-default ui-state-highlight ui-state-active" href="#" tabindex="144">26</a> </td>

现在我想摆脱ui-state-highlight类以防止这种行为。

我在网上搜索了很多提示,所有提示都或多或少都是这样的(包括超时,.find()等):

beforeShow:
function (textbox, instance) {
setTimeout(
function () {
$(
"#ui-datepicker-div td.ui-datepicker-today a.ui-state-highlight").removeClass('ui-state-highlight');
}, 300
);
//settimeout function end
}

然而,所有这些解决方案都无效。

有没有人能解决这个问题呢?

3 个答案:

答案 0 :(得分:4)

为了确保jquery-ui在显示datepicker之后不添加类,您可以在渲染datepicker后运行此代码。

$('#ui-datepicker-div').datepicker({
   //options
})
.find('a.ui-state-highlight')
.removeClass('ui-state-highlight');

答案 1 :(得分:0)

为了完成这项工作,我必须删除两个类,并给出一些超时,这是我的解决方案:

 setTimeout(function(){
                    $( "#embeded_calendar" ).datepicker().find('.ui-stateactive').removeClass('ui-state-active');
                    $( "#embeded_calendar" ).datepicker().find('.ui-datepicker-today').removeClass('ui-datepicker-today');
             },10)

答案 2 :(得分:0)

另一种更快的方法:在 jquery-ui- [version] .custom.css

中注释掉以下行
/ ** ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {} */