Extjs之DateField控件的鼠标点击选取事件监控
2015-10-20 11:14
495 查看
Ext用的比较多的同志会发现一个问题,Extjs的DateField并没有提供'select'事件。而在我们的实际开发过程中,经常会需要去监控它,并进行后续的处理。在逼不得已的情况下,我们会用'change'时间去替代,但是该事件必须要datefield控件失去焦点时才触发,也就是说,需要用户选了日期之后,再在空白的地方点击一下鼠标才会触发值的改变事件。——这是无疑是非常别扭的。
通过研究DateField的源代码我们可以发现:
在点击日期控件的右边按钮的时候,会给Date添加一个‘日期目录’面板,该面板就是我们进行日期选择时候的操作对象。
而 我们鼠标选择日期的时候,必然会触发menu的'select'事件,所以,我们只需要在menu上注册'select'事件处理函数,就能达到目的了。
示例如下:
通过研究DateField的源代码我们可以发现:
<span style="font-size:14px;"> onTriggerClick : function(){ if(this.disabled){ return; } if(this.menu == null){ this.menu = new Ext.menu.DateMenu(); } Ext.apply(this.menu.picker, { minDate : this.minValue, maxDate : this.maxValue, disabledDatesRE : this.ddMatch, disabledDatesText : this.disabledDatesText, disabledDays : this.disabledDays, disabledDaysText : this.disabledDaysText, format : this.format, showToday : this.showToday, minText : String.format(this.minText, this.formatDate(this.minValue)), maxText : String.format(this.maxText, this.formatDate(this.maxValue)) }); this.menu.on(Ext.apply({}, this.menuListeners, { scope:this })); this.menu.picker.setValue(this.getValue() || new Date()); this.menu.show(this.el, "tl-bl?"); },</span>
在点击日期控件的右边按钮的时候,会给Date添加一个‘日期目录’面板,该面板就是我们进行日期选择时候的操作对象。
而 我们鼠标选择日期的时候,必然会触发menu的'select'事件,所以,我们只需要在menu上注册'select'事件处理函数,就能达到目的了。
示例如下:
<span style="font-size:14px;"> var myDate = new Ext.form.DateField({ format : 'Y-m-d', editable:false, menu:new Ext.menu.DateMenu() //必须自己添加日期目录面板,否则在点击时间按钮时才会创建,导致无法在外面注册事件 }); myDate.menu.on('select',function(picker,date){ //此处书写你的处理逻辑。 }); </span>
相关文章推荐
- extjs grid取到数据而不显示的解决
- jQuery中的常用事件总结
- C#实现WinForm捕获最小化事件的方法
- Lua编程示例(一):select、debug、可变参数、table操作、error
- SQL学习笔记三 select语句的各种形式小结
- 一条select语句引起的瓶颈问题思考
- SQL Select语句完整的执行顺序
- mysql SELECT语句去除某个字段的重复信息
- 点击按钮后 文本框变为Select下拉列表框
- c#事件使用示例详解
- C#中的事件介绍
- C#实现自定义双击事件
- javascript 模拟select下拉列表特效
- javascript select options 排序(保持option 对象完整性)
- 用javascript和css模拟select的脚本
- js select常用操作控制代码
- mysql中insert与select的嵌套使用方法
- ExtJS下grid的一些属性说明
- Extjs在exlipse中设置自动提示的方法
- jquery的clone方法应用于textarea和select的bug修复