📄 mydatefield.as
字号:
/*************** 注意 ******************
添加到其他项目时,在适当的全局MC点击时,添加
_root.[..].MC.onPress = function(){
[..].dateMC._visible = false;
}
**************************************/
//定义侦听对象
someListener1 = new Object();
//屏幕鼠标事件侦听 _root ==> _root.CtlBox
someListener1.onMouseUp = function () {
if (!_root.startDate.dateButton.hitTest(_root._xmouse,_root._ymouse,false)
&& !_root.startDate.dateMC.hitTest(_root._xmouse,_root._ymouse,false))
_root.startDate.dateMC._visible = false;
if (!_root.endDate.dateButton.hitTest(_root._xmouse,_root._ymouse,false)
&& !_root.endDate.dateMC.hitTest(_root._xmouse,_root._ymouse,false))
_root.endDate.dateMC._visible = false;
}
Mouse.addListener(someListener1);
//初始化为当前日期
var curDate:Date = new Date();
if(this.dateValue.text != ""){
var arrInit = new Array();
arrInit = this.dateValue.text.split("-");
this._parent.iYear = arrInit[0];
curDate = new Date(arrInit[0],Number(arrInit[1])-1,arrInit[2]);
}
var iYY = curDate.getFullYear();
var iMM = curDate.getMonth()+1;
var iDD = curDate.getDate();
var sMM = iMM; if(iMM<10) sMM = "0"+iMM;
var sDD = iDD; if(iDD<10) sDD = "0"+iDD;
this.changed = true;
this.dateValue.text = iYY+"-"+sMM+"-"+sDD; //注意项目中没有初始化自定义日历的日期,此处添加
this.dateMC.today = iYY+"-"+sMM+"-"+sDD;
this.dateMC.iYear = iYY;
this.dateMC.iMonth = iMM;
this.dateMC.textToday.text = "<b>"+iYY+"-"+iMM+"-"+iDD+"</b>";
this.dateMC.dateChooser.selectedDate = curDate;
this.dateMC.textYear.text = "<b>"+iYY+"</b>";
this.dateMC.textMonth.text = "<b>"+iMM+"月</b>";
this.dateMC._visible = false;
//刷新"今天"日期,防止半夜24点交错
function setToday(){
curDate = new Date();
iYY = curDate.getFullYear();
iMM = curDate.getMonth()+1;
iDD = curDate.getDate();
sMM = iMM; if(iMM<10) sMM = "0"+iMM;
sDD = iDD; if(iDD<10) sDD = "0"+iDD;
this.dateMC.today = iYY+"-"+sMM+"-"+sDD;
this.dateMC.textToday.text = "<b>"+iYY+"-"+iMM+"-"+iDD+"</b>";
this.dateMC.dateChooser.showToday = false;//刷新 DateChooser
this.dateMC.dateChooser.showToday = true;
}
//日历Icon 按钮,显示日历选项卡
this.dateButton.onPress = function () {
setToday();
this._parent.dateMC._visible = !this._parent.dateMC._visible;
}
//"今天"选择红圈按钮,取得今日日期,并设置日历选项卡
this.dateMC.todayButton.onPress = function () {
this._parent._visible = false;
this._parent._parent.dateValue.text = this._parent.today;
this._parent._parent.changed = true;
var arr = new Array();
arr = this._parent.today.split("-");
this._parent.iYear = arr[0];
this._parent.iMonth = Number(arr[1]);
this._parent.textYear.text = "<b>"+this._parent.iYear+"</b>"; //重新设置显示年份
this._parent.textMonth.text = "<b>"+this._parent.iMonth+"月</b>"; //重新设置显示年份
this._parent.dateChooser.displayedYear = this._parent.iYear; //重新设置日历卡年份
this._parent.dateChooser.displayedMonth = this._parent.iMonth-1; //设重新设置日历卡月份
this._parent.dateChooser.selectedDate = new Date(arr[0],Number(arr[1])-1,arr[2]);
}
//日历选项卡,选择新日期
function dateChange(eventObj){
this._parent._visible = false;
if(this.selectedDate == undefined){
var arr = new Array();
arr = this._parent._parent.dateValue.text.split("-");
var curDate:Date = new Date(arr[0],Number(arr[1])-1,arr[2]);
this.selectedDate = curDate;
return;
}
iYY = this.selectedDate.getFullYear();
iMM = this.selectedDate.getMonth()+1;
iDD = this.selectedDate.getDate();
sMM = iMM; if(iMM<10) sMM = "0"+iMM;
sDD = iDD; if(iDD<10) sDD = "0"+iDD;
this._parent._parent.dateValue.text = iYY+"-"+sMM+"-"+sDD;
this._parent._parent.changed = true;
this._parent.iYear = this.selectedDate.getFullYear();
this._parent.iMonth = this.selectedDate.getMonth()+1;
}
this.dateMC.dateChooser.addEventListener("change", dateChange);
//年向上减1 <<
this.dateMC.BTYear1.onPress = function() {
/*this._parent._parent.dateValue.text
this.dateValue.text = iYY+"-"+sMM+"-"+sDD;
this.dateMC.today = iYY+"-"+sMM+"-"+sDD;
this.dateMC.textYear.text = "<b>"+iYY+"</b>";*/
//trace(this._parent.today+"|"+this._parent.iYear);
this._parent.iYear--;
this._parent.textYear.text = "<b>"+this._parent.iYear+"</b>";//设置显示年份
this._parent.dateChooser.displayedYear = this._parent.iYear; //设置日历卡,向上翻一年
}
//年向下 加1 <<
this.dateMC.BTYear2.onPress = function() {
this._parent.iYear++;
this._parent.textYear.text = "<b>"+this._parent.iYear+"</b>";//设置显示年份
this._parent.dateChooser.displayedYear = this._parent.iYear; //设置日历卡,向上翻一年
}
//月向上减1 <<
this.dateMC.BTMonth1.onPress = function() {
this._parent.iMonth--;
if(this._parent.iMonth==0) this._parent.iMonth = 12;
this._parent.textMonth.text = "<b>"+this._parent.iMonth+"月</b>";//设置显示月份
this._parent.dateChooser.displayedMonth = this._parent.iMonth-1; //设置日历卡,向上翻一月
if(this._parent.iMonth == 12) {
this._parent.iYear--;
this._parent.textYear.text = "<b>"+this._parent.iYear+"</b>"; //重新设置显示年份
this._parent.dateChooser.displayedYear = this._parent.iYear; //重新设置日历卡年份
}
}
//月向下 加1 <<
this.dateMC.BTMonth2.onPress = function() {
this._parent.iMonth++;
if(this._parent.iMonth==13) this._parent.iMonth = 1;
this._parent.textMonth.text = "<b>"+this._parent.iMonth+"月</b>";//设置显示月份
this._parent.dateChooser.displayedMonth = this._parent.iMonth-1; //设置日历卡,向上翻一年
if(this._parent.iMonth == 1) {
this._parent.iYear++;
this._parent.textYear.text = "<b>"+this._parent.iYear+"</b>"; //重新设置显示年份
this._parent.dateChooser.displayedYear = this._parent.iYear; //重新设置日历卡年份
}
}
//======================== 设置自定义日历控件日期值是否变化 ===================//
//================ _root.startDate.changed 或 _root.endDate.changed =============//
function dateValueChanged(eventObj:Object) {
this._parent.changed = true;
}
this.dateValue.addEventListener("change", dateValueChanged);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -