【问题标题】:bind jquery datepicker open trigger to 'touchStart' instead of 'focus'将 jquery datepicker 打开触发器绑定到“touchStart”而不是“焦点”
【发布时间】:2026-01-16 03:45:01
【问题描述】:

我确定这是可行的,但我不知道该怎么做。 现在: jquery datepicker 绑定到焦点事件(在我的情况下,这对 iPad 在输入焦点上强制键盘打开不利)。 我想将日期选择器绑定到“touchStart”,例如:

$('#date').datepicker({trigger : 'touchStart'});

请指教

【问题讨论】:

    标签: javascript jquery jquery-ui datepicker


    【解决方案1】:

    你应该使用 Hammer.js 来做手势,比如:

     var d = new DatePicker(function(element, handler) {
                Hammer(element, {
                    drag : false,
                    transform : false
                }).on('tap', handler, false);
            }, {
                backdrop : true
            });
    

    还有另一个选项,绑定事件,请参阅: http://*.com/questions/13692194/binding-events-with-hammer-js-and-on

    【讨论】:

    • 我从未尝试过 Hammer.js,但不幸的是,在项目的这个阶段我无法用 jquery.datepicker.js 替换 Hammer.js,所以我需要为 datepicker 找到解决方案。 (我坚持下去):S
    • @Roshdy,hammer.js 用于手势事件,你可以用它来将某个手势事件附加到另一个事件,它不是 jquery.datepicker 的替代品
    • 那我试试看