多浏览器兼容的JS日历控件

多浏览器兼容的JS日历控件

吴剑 2008-08-01

原创文章,转载必需注明出处:http://www.cnblogs.com/wu-jian/

 

前言

感觉绝大部分国产的软件在代码严谨方面与国外有着相当大的差距,也许跟中国历来的软件免费思想有关,所有软件都是免费的,能用就行。这就造成了整个行业、整个开发者群体对严谨、安全缺乏足够重视。很多程序员对用户体验、一些小细节、小BUG毫不在乎,对自己理解所谓的“核心功能”却洋洋自得。其实我相信国内99%的软件企业做的都是应用型开发,不会有太多技术含量,并且随着开发语言越来越 “高级”,大家做的都是业务逻辑,像C#、Java这样的高级语言已经封装了几乎所有底层功能。所以,细节绝对是决定成败的关键。  

扯远了,回到主题。曾经试用过多款国产的日历控件,但或多或少总是存在问题,要不在多浏览器下出现脚本错误,要不就是CSS畸形。因个人有完美主义倾向,所以决定去找一款国外的作个对比参考,结果搜到了现在这款。个人感觉简洁、大方、多浏览器兼容(测试了市面上的几乎所有浏览器),严格遵循W3C规范,同时扩展与配置也非常方便。因西方的日期时间表示与中国存在差异,所以修改了部分源代码,将日期时间操作按国人习惯,同时进行了汉化,添加了部分功能(默认值功能)。

 

DEMO效果

做了个简单的DEMO供大家参考,如需修改源代码请注意保留原作者的版权信息。效果截图如下: 

效果图

如下代码演示了控件的使用方式:

复制代码
protected void Page_Load(object sender, EventArgs e)
{
        if (!IsPostBack)
        {
            //客户端事件
            this.txtID.Attributes.Add("onclick", "displayCalendar(document.getElementById('" + this.txtID.ClientID + "'),'yyyy-mm-dd',this);");
            //默认值
            this.txtID.Text = DateTime.Now.ToString("yyyy-MM-dd");
            //只读属性
            this.txtID.Attributes.Add("readonly", "true");
        }
}
复制代码

 

DEMO下载

点击下载DEMO

 

<全文完>

 

posted @   吴 剑  阅读(6100)  评论(18编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
@2010-2017 WuJian, All Rights Reserved.
点击右上角即可分享
微信分享提示