Materialize CSS Timepicker的onSelect事件无法触发问题求助
解决Materialize Timepicker onSelect事件无响应的问题
嘿,我之前也踩过这个坑!你遇到的问题大概率是因为Materialize CSS的Timepicker组件在不同版本里的回调API有变化——你用的onSelect在新版本里已经被弃用或者改名了,所以才会出现组件能正常运行但事件没反应的情况。
下面给你两种可行的解决方案,根据你的需求选就行:
方案1:使用onCloseEnd(选择完时间关闭时触发)
这个回调会在用户选好时间、关闭时间选择器的时候触发,参数是包含选中时间信息的对象,和你原来的需求匹配度很高:
$(document).ready(function(){ $('.timepicker').timepicker({ onCloseEnd: function(selectedTime) { alert(selectedTime.hour + " " + selectedTime.minute); } }); });
方案2:使用onChange(实时响应时间变更)
如果需要用户在滚动选择小时/分钟的时候就触发事件(不用等关闭选择器),可以用这个回调:
$(document).ready(function(){ $('.timepicker').timepicker({ onChange: function(currentTime) { alert(currentTime.hour + " " + currentTime.minute); } }); });
额外说明
- 旧版本的Materialize(比如v0.97.x)确实支持
onSelect,但v1.0.0及以上的版本已经移除了这个回调,换成了上面更明确的事件名称。你可以检查一下你引入的Materialize JS/CSS版本,确认是不是版本不匹配导致的问题。 - 另外再确认下引入顺序:要先引入jQuery,再引入Materialize的JS文件,这个虽然你说组件本身正常,但还是确保一下更稳妥~
内容的提问来源于stack exchange,提问作者tempSt69
相关产品推荐
相关产品推荐

