我正在使用enum
我有一个内联的datepicker正确显示,我只会使用days模式,所以我使用以下代码,但事件dp.show和dp.update不会被触发。
$('#datetimepicker').datetimepicker({
inline: true,
format: 'DD/MM/YYYY'
}).on('dp.show dp.update', function () {
$(".datepicker-days").find("th").eq(1).removeAttr('title')
.css('cursor', 'default')
.css('background', 'inherit').on('click', function (e) {
e.stopPropagation();
});
});
编辑1
我也尝试过使用dp.change(以及show.dp,update.dp,change.dp)。
如果日期选择器不是内联,则会触发事件。
编辑2
我正在使用:
编辑3
版本4.17.42的相同问题
答案 0 :(得分:2)
问题是当小部件内联时,dp.show
事件不会触发。
根据插件文档,dp.show
事件仅从toggle()
或show()
函数发出,但仅限于在调用之前隐藏窗口小部件。
所以我的解决方案有点脏,但我认为它解决了你的问题。您可以在窗口小部件初始化后立即调用hide()
和show()
函数。
$('#datetimepicker').datetimepicker({
inline: true,
format: 'DD/MM/YYYY'
}).on('dp.show dp.change', function () {
// console.log('dp.show or dp.change event');
$(".datepicker-days").find("th").eq(1)
.removeAttr('title')
.css('cursor', 'default')
.css('background', 'inherit')
.on('click', function (e) {
e.stopPropagation();
});
});
$('#datetimepicker').data("DateTimePicker").hide();
$('#datetimepicker').data("DateTimePicker").show();
在这里小提琴:https://jsfiddle.net/zeudzqe1/。
欢迎进一步改进这一回应。
答案 1 :(得分:0)
你试过dp.change吗? (而不是dp.show)
$('#datetimepicker').datetimepicker({
inline: true,
format: 'DD/MM/YYYY'
}).on('dp.change dp.update', function () {
$(".datepicker-days").find("th").eq(1).removeAttr('title')
.css('cursor', 'default')
.css('background', 'inherit').on('click', function (e) {
e.stopPropagation();
});
});
答案 2 :(得分:0)
插件insists that the component is placed within a relatively positioned container。
它actually checks,并在需要时抛出错误:
datetimepicker组件应放在相对定位的容器中
未捕获的错误导致它在设计上放弃了其余的代码。
通过使父母相对定位来 // Disable support for comments and trackbacks in post types
function df_disable_comments_post_types_support() {
$post_types = get_post_types();
foreach ($post_types as $post_type) {
if(post_type_supports($post_type, 'comments')) {
if (!$post_type=='product'){
remove_post_type_support($post_type, 'comments');
remove_post_type_support($post_type, 'trackbacks');
}
}
}
}
// no changes!
$('#datetimepicker').datetimepicker({
inline: true,
format: 'DD/MM/YYYY'
}).on('dp.show dp.update', function () {
$(".datepicker-days").find("th").eq(1).removeAttr('title')
.css('cursor', 'default')
.css('background', 'inherit').on('click', function (e) {
e.stopPropagation();
});
});
.relatively-positioned {
position: relative;
}