ROME: 定制化的日期(和时间)选择器
在繁忙的开发世界中,找到一个既灵活又不依赖jQuery的日期选择器可能是项挑战。这就是Rome应运而生的地方。这是一个完全可定制的日期(和时间)选择器,支持所有合理的浏览器以及IE7+。它的设计理念是“小步慢跑”,寓意罗马不是一天建成的,但其构建出的优雅用户体验能迅速提升你的应用品质。
精彩演示
想要体验一下吗?点击这里查看实时演示,你会看到如下的截图:
Rome 的特色在于它与输入框实时同步,不会窃取焦点,并且样式可以完全自定义!
安装与设置
你可以通过npm或Bower轻松安装Rome。
npm install --save @bevacqua/rome
bower install --save @bevacqua/rome
如果使用CommonJS,需要require('@bevacqua/rome')
。对于独立版本,API将发布到全局变量rome
;如果使用CJS,则需引入。
要配置Rome,可以选择自己的moment.js
分发版,或者使用捆绑了moment
的rome.standalone.js
。记得在进行任何国际化操作前,先参考moment
的文档。
使用API
rome
提供了一组直观的API,使得操作变得简单易行。
rome.find(elem)
:如果元素已经关联了一个日历,就会返回该日历,否则返回null
。rome(elem, options={})
:创建并与给定的elem
关联的日历实例。如果已存在关联,将返回已有的日历实例,而不是新建。此特性类似于缓存功能。
选项众多,包括但不限于:是否自动关闭日历、是否随聚焦隐藏、时间格式、日期验证函数等。默认值设置得相当合理,调整也很方便。
如果你希望将日历内联显示,只需传递非输入元素即可,此时,appendTo
选项会变为传入的元素,日历也不会附加到输入字段。
强大的事件系统
Rome 提供了一系列事件订阅,以contra
库创建的事件发射器发布。这些事件包括:
- 日历更新事件
- 值更改事件
- 更多...
这使你可以轻松地与其他应用程序组件交互,实现更复杂的功能。
结论
在寻找一个可靠、易用并能增强用户体验的日期选择器时,Rome是一个值得考虑的选择。其无jQuery的特性、强大的API以及对IE7+的支持,使其在现代Web开发中占有一席之地。无论你是前端新手还是经验丰富的开发者,Rome都会让你的日期和时间选择体验更上一层楼。现在就开始尝试,让日期选择变得更简单吧!