参考网站:http://www.my97.net/dp/demo/resource/2.5.asp

    • 自定义事件

      如果你需要做一些附加的操作,你也不必担心,日期控件自带的自定义事件可以满足你的需求.此外,你还可以在自定义事件中调用提供的API库来做更多的运算和扩展,绝对可以通过很少的代码满足你及其个性化的需求.
      注意下面几个重要的指针,将对你的编程带来很多便利 this: 指向文本框 dp: 指向$dp           dp.cal: 指向日期控件对象           注意:函数原型必须使用类似 function(dp){} 的模式,这样子,在函数内部才可以使用dp

    • onpicking 和 onpicked 事件       

      示例5-2-1 onpicking事件演示

      <input type="text" id="5421" onFocus="WdatePicker({onpicking:function(dp){if(!confirm('日期框原来的值为: '+dp.cal.getDateStr()+', 要用新选择的值:' + dp.cal.getNewDateStr() + '覆盖吗?')) return true;}})" class="Wdate"/>
      注意:你注意到dp.cal.getDateStr和dp.cal.getNewDateStr的用法了嘛? 详见内置函数和属性

      示例5-2-2 使用onpicked实现日期选择联动

      选择第一个日期的时候,第二个日期选择框自动弹出             日期从:            至            注意:下面第一个控件代码的写法 <input id="d5221" class="Wdate" type="text" onFocus="var d5222=$dp.$('d5222');WdatePicker({onpicked:function(){d5222.focus();},maxDate:'#F{$dp.$D(\'d5222\')}'})"/> 至 <input id="d5222" class="Wdate" type="text" onFocus="WdatePicker({minDate:'#F{$dp.$D(\'d5221\')}'})"/>
      注意:$dp.$是一个内置函数,相当于document.getElementById

      示例5-2-3 将选择的值拆分到文本框

      年            月            日            时            分            秒           
                  <input type="text" id="d523_y" size="5"/>            年 <input type="text" id="d523_M" size="3"/>            月 <input type="text" id="d523_d" size="3"/>            日 <input type="text" id="d523_HH" size="3"/>            时 <input type="text" id="d523_mm" size="3"/>            分 <input type="text" id="d523_ss" size="3"/>            秒 <img onclick="WdatePicker({el:'d523',dateFmt:'yyyy-MM-dd HH:mm:ss',onpicked:pickedFunc})" src="../../My97DatePicker/skin/datePicker.gif" width="16" height="22" align="absmiddle" style="cursor:pointer"/> <script> function pickedFunc(){             $dp.$('d523_y').value=$dp.cal.getP('y');             $dp.$('d523_M').value=$dp.cal.getP('M');             $dp.$('d523_d').value=$dp.cal.getP('d');             $dp.$('d523_HH').value=$dp.cal.getP('H');             $dp.$('d523_mm').value=$dp.cal.getP('m');             $dp.$('d523_ss').value=$dp.cal.getP('s');             } </script>
      注意:el:'d523'中,如果你不需要d523这个框,你可以把他改成hidden,但是el属性必须指定 $dp.$和$dp.cal.getP都是内置函数

    • onclearing 和 oncleared 事件       

      示例5-3-1 使用onclearing事件取消清空操作

      <input type="text" class="Wdate" id="d531" onFocus="WdatePicker({onclearing:function(){if(!confirm('日期框的值为:'+this.value+', 确实要清空吗?'))return true;}})"/>
      注意:当onclearing函数返回true时,系统的清空事件将被取消, 函数体里面没有引用$dp,所以函数原型里面可以省略参数dp

      示例5-3-2 使用cal对象取得当前日期所选择的月份(使用了 dp.cal)

      <input type="text" class="Wdate" id="d532" onFocus="WdatePicker({oncleared:function(dp){alert('当前日期所选择的月份为:'+dp.cal.date.M);}})"/>

      示例5-3-3 综合使用两个事件

      <script> function d533_focus(element){             var clearingFunc = function(){            if(!confirm('日期框的值为:'+this.value+', 确实要清空吗?')) return true;            }             var clearedFunc = function(){            alert('日期框已被清空');            } WdatePicker({el:element,onclearing:clearingFunc,oncleared:clearedFunc})             } </script>             <input type="text" class="Wdate" id="d533" onFocus="d533_focus(this)"/>

    • 年月日时分秒的 changing和changed

      年月日时分秒都有对应的changing和changed事件,分别是: ychanging ychanged              Mchanging Mchanged         dchanging dchanged         Hchanging Hchanged         mchanging mchanged         schanging schanged

      示例5-4-1 年月日改变时弹出信息

      <input type="text" class="Wdate" onFocus="WdatePicker({dchanging:cDayFunc, Mchanging:cMonthFunc, ychanging:cYearFunc, dchanged:cDayFunc, Mchanged:cMonthFunc, ychanged:cYearFunc})"/> <script> function cDayFunc(){ cFunc('d'); } function cMonthFunc(){ cFunc('M'); } function cYearFunc(){ cFunc('y'); } function cFunc(who){ var str,p,c = $dp.cal; if(who=='y'){ str='年份'; p='y'; } else if(who=='M'){ str='月份'; p='M'; } else if(who=='d'){ str='日期'; p='d'; } alert(str+'发生改变了!\n$dp.cal.date.'+p+'='+c.date[p]+'\n$dp.cal.newdate.'+p+'='+c.newdate[p]); } < /script>
      这个例子用到了 $dp.cal.date 和 $dp.cal.newdate 属性,你能从这里发现他们的不同之处吗? 下面是有关这两个属性的描述详见内置函数和属性

      6. 快速选择功能

      此功能允许指定5个最常用的日期,可以方便用户选择,如果不指定,系统将自动生成       相关属性: qsEnabled 是否启用快速选择功能,      注意:如果日期格式里不包含 d(天) 这个元素时,快速选择将一直显示,不收此属性控制 quickSel 快速选择数据,可以传入5个快速选择日期,日期格式同min/maxDate
      注意: 日期格式必须与 realDateFmt  realTimeFmt  相匹配       除了使用静态的日期值以外,还可以使用动态参数(如:%y,%M分别表示当前年和月)

      示例6-1 传入2个静态日期

      <input class="Wdate" type="text" onfocus="WdatePicker({dateFmt:'yyyy年MM月dd日',qsEnabled:true,quickSel:['2000-1-10','2000-2-20']})"/>
      注意:当传入的数据不足5个时,系统将自动补全

      示例6-2 传入2个动态日期,1个静态日期

      <input type="text" class="Wdate" onFocus="WdatePicker({dateFmt:'yyyy年MM月dd日',qsEnabled:true,quickSel:['2000-10-01','%y-%M-01','%y-%M-%ld']})"/>
      注意:当传入的数据不足5个时,系统将自动补全

My97 DatePicker使用之自定义事件的更多相关文章

  1. JS日历插件 - My97 DatePicker用法详解

    一.简介 1. 注意事项 (1)My97DatePicker目录是一个整体,不可破坏里面的目录结构,也不可对里面的文件改名,可以改目录名: (2)各目录及文件的用途: WdatePicker.js 配 ...

  2. My97 DatePicker图标触发

    My97 DatePicker图标触发 1.设计源码 <%@ page language="java" import="java.util.*" page ...

  3. My97 DatePicker普通调用

    My97 DatePicker普通调用 1.设计源码 <%@ page language="java" import="java.util.*" page ...

  4. 谈谈JS的观察者模式(自定义事件)

    呼呼...前不久参加了一个笔试,里面有一到JS编程题,当时看着题目就蒙圈...后来研究了一下,原来就是所谓的观察者模式.就记下来...^_^ 题目 [附加题] 请实现下面的自定义事件 Event 对象 ...

  5. Javascript之自定义事件

    Javascript自定义事件,其本质就是观察者模式(又称订阅/发布模式),它的好处就是将绑定事件和触发事件相互隔离开,并且可以动态的添加.删除事件. 下面通过实例,一步一步构建一个具体的Javasc ...

  6. MUI APP关于页面之间的传值,plusready和自定义事件

    最近在用MUI开发这个APP,发现有时候这个plusready不起作用,表现在,这个页面如果重复打开,这个plusready就进不去,然后上一个页面传过来的值,就没法接收了.这个经过MUI官方确认,是 ...

  7. 跟着《beginning jquery》学写slider插件并借助自定义事件改进它

    <beginning jquery>是一本很不错的学习jquery的书,作者的讲解深入浅出,很适合初学者,在最后一章里面,作者把前面所有的点结合起来完成了一个轮播图的jquery插件.实现 ...

  8. cocos2d-x3.x自定义事件

    -- 自定义事件 -- 监听: local eventDispatcher = self:getEventDispatcher();--self为继承Node的对象 local function ha ...

  9. HotApp小程序统计之自定义事件统计

    什么是自定义事件统计     官网:https://weixin.hotapp.cn/document 自定事件,就是自定统计任意事件的执行,灵活度最高. 用上图的云笔记说明想知道如下信息 (1)多少 ...

随机推荐

  1. 提高 Discuz 门户文章被百度收录的方法

    如果你了解 SEO,你就该清楚使用 canonical URL 标签可以固定网页标准地址,可以提高网页的权重,有利于搜索引擎收录. 例如我的网站拥有两个子域名www.bbseat.com.cn和bbs ...

  2. 1080. Graduate Admission (30)

    时间限制 200 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue It is said that in 2013, there w ...

  3. CodeForces 18C

    Description Once Bob took a paper stripe of n squares (the height of the stripe is 1 square). In eac ...

  4. 制作下拉菜单(PopupList)

    怎样判断是否应当使用下拉菜单 下拉菜单,就是将一系列的选项隐藏,通过单击某一个控件将会弹出一个包含这些选项的列表,在其中选择想要的选项.这样做不但可以节省屏幕空间,也可以让用户在进行选择时更加方便快捷 ...

  5. 微软职位内部推荐-Sr SDE-MOD-Beijing

    微软近期Open的职位: JOB TITLE: Senior Software Design EngineerDEPARTMENT: Microsoft Office Division ChinaIM ...

  6. 主题: 为kindsoft编辑器替换SyntaxHighlighter代码高亮,整合DEDECMS

    作者: fmamcn, 发布日期: 2012-09-29 12:28:39, 浏览数: 1567 看了狼魂发表的将kindeditor中的代码高亮插件prettify换为SyntaxHighlight ...

  7. 然爸读书笔记(2014-10)----Bootsrap用户手册

    本来其实这方面的知识,可以直接在网站上看,但是自己是web前端的小白.基本不懂.所以,还是买一本书来看,更好些.体现出我对前端的重视. Bootstrap是快速开发Web应用程序的前端工具包.它是一个 ...

  8. PAT-乙级-1025. 反转链表 (25)

    1025. 反转链表 (25) 时间限制 300 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一个常数K以及一个单链表L,请 ...

  9. Scala中的Extractor

    Scala中使用unapply方法可以实现三种extractor(另外使用unapplySeq也可以实现extractor) def unapply(object: S): Option[(T1, . ...

  10. Kafka 之 async producer (2) kafka.producer.async.DefaultEventHandler

    上次留下来的问题 如果消息是发给很多不同的topic的, async producer如何在按batch发送的同时区分topic的 它是如何用key来做partition的? 是如何实现对消息成批量的 ...