我在某些输入元素上使用Anytime datepicker。
这是在元素上设置的方式:
AnyTime.picker(element_id)
element_id是一个包含元素id的字符串 单击该元素时,它会调出Anytime datepicker控件。
它工作正常,但是如果满足某些条件,我想防止它在某些情况下触发。我似乎无法找到一个体面的方法来做到这一点。
更具体地说,我想在从移动设备浏览时禁止它,而是使用HTML5日期对话框(或者只是文本输入,如果它不可用)。我已经找到了一种方法,当网站处于“移动布局”时,使用JavaScript中的媒体查询(window.matchMedia()
)显示HTML5日期对话框,但我最终同时将Anytime和HTML5日期对话框绑定到元素,点击它将提出两个。我希望Anytime在这种情况下不显示......
我找不到任何可行的方法,只能修改Anytime源只能有条件地触发......
我已尝试使用Anytime_noPicker()删除datepicker,但它不起作用,如果它确实有效,它将是一个非常不优雅的解决方案。
答案 0 :(得分:1)
每次都调用AnyTime.picker(),你可以将它放在window.matchMedia()测试的else条件中。例如:
if ( window.matchMedia(...) )
// use input type="date" here
else
AnyTime.picker('element-id');
答案 1 :(得分:1)
另一个可能是更好的解决方案的答案是测试浏览器是否实际支持type =“date”,并且只调用AnyTime.picker()或$()。AnyTime_picker()如果不支持。例如:
if ( document.getElementById('my-date').type != 'date' )
AnyTime.picker('my-date',{...});