亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? datetimefield.js

?? 當(dāng)前比較流行的,漂亮的JS框架,這里面用到的API文檔
?? JS
字號(hào):
/*
 * Ext JS Library 0.20
 * Copyright(c) 2006-2008, Ext JS, LLC.
 * licensing@extjs.com
 * 
 * http://extjs.com/license
 */

Ext.namespace('Ext.ux.form');

/**
  * Ext.ux.form.DateTime Extension Class for Ext 2.x Library
  *
  * @author    Ing. Jozef Sakalos
  * @copyright (c) 2008, Ing. Jozef Sakalos
  * @version $Id: Ext.ux.form.DateTime.js 645 2008-01-27 21:53:01Z jozo $
  *
  * @class Ext.ux.form.DateTime
  * @extends Ext.form.Field
  * 
  * @history
  * 2008-1-31 Jack Slocum
  * Updated for reformatting and code edits
  */
Ext.ux.form.DateTime = Ext.extend(Ext.form.Field, {
	defaultAutoCreate: {
		tag: 'input',
		type: 'hidden'
	},
	dateWidth: 135,
	timeWidth: 100,
	dtSeparator: ' ',
	hiddenFormat: 'Y-m-d H:i:s',
	otherToNow: true,
	timePosition: 'right',
	
	initComponent: function(){
		// call parent initComponent
		Ext.ux.form.DateTime.superclass.initComponent.call(this);
		
		// create DateField
		var dateConfig = Ext.apply({}, {
			id: this.id + '-date',
			format: this.dateFormat,
			width: this.dateWidth,
			listeners: {
				blur: {
					scope: this,
					fn: this.onBlur
				},
				focus: {
					scope: this,
					fn: this.onFocus
				}
			}
		}, this.dateConfig);
		this.df = new Ext.form.DateField(dateConfig);
		delete (this.dateFormat);
		
		// create TimeField
		var timeConfig = Ext.apply({}, {
			id: this.id + '-time',
			format: this.timeFormat,
			width: this.timeWidth,
			listeners: {
				blur: {
					scope: this,
					fn: this.onBlur
				},
				focus: {
					scope: this,
					fn: this.onFocus
				}
			}
		}, this.timeConfig);
		this.tf = new Ext.form.TimeField(timeConfig);
		delete (this.timeFormat);
		
		// relay events
		this.relayEvents(this.df, ['focus', 'specialkey', 'invalid', 'valid']);
		this.relayEvents(this.tf, ['focus', 'specialkey', 'invalid', 'valid']);
		
	},
	onRender: function(ct, position){
		if (this.isRendered) {
			return;
		}
		
		// render underlying field
		Ext.ux.form.DateTime.superclass.onRender.call(this, ct, position);
		
		// render DateField and TimeField
		// create bounding table
		if ('below' === this.timePosition) {
			var t = Ext.DomHelper.append(ct, {
				tag: 'table',
				style: 'border-collapse:collapse',
				children: [{
					tag: 'tr',
					children: [{
						tag: 'td',
						style: 'padding-bottom:1px',
						cls: 'ux-datetime-date'
					}]
				}, {
					tag: 'tr',
					children: [{
						tag: 'td',
						cls: 'ux-datetime-time'
					}]
				}]
			}, true);
		}
		else {
			var t = Ext.DomHelper.append(ct, {
				tag: 'table',
				style: 'border-collapse:collapse',
				children: [{
					tag: 'tr',
					children: [{
						tag: 'td',
						style: 'padding-right:4px',
						cls: 'ux-datetime-date'
					}, {
						tag: 'td',
						cls: 'ux-datetime-time'
					}]
				}]
			}, true);
		}
		
		this.tableEl = t;
		this.wrap = t.wrap({
			cls: 'x-form-field-wrap'
		});
		this.wrap.on("mousedown", this.onMouseDown, this, {
			delay: 10
		});
		
		// render DateField & TimeField
		this.df.render(t.child('td.ux-datetime-date'));
		this.tf.render(t.child('td.ux-datetime-time'));
		
		if (Ext.isIE && Ext.isStrict) {
			t.select('input').applyStyles({
				top: 0
			});
		}
		
		this.on('specialkey', this.onSpecialKey, this);
		
		this.df.el.swallowEvent(['keydown', 'keypress']);
		this.tf.el.swallowEvent(['keydown', 'keypress']);
		
		// create errorIcon for side invalid
		if ('side' === this.msgTarget) {
			var elp = this.el.findParent('.x-form-element', 10, true);
			this.errorIcon = elp.createChild({
				cls: 'x-form-invalid-icon'
			});
			
			this.df.errorIcon = this.errorIcon;
			this.tf.errorIcon = this.errorIcon;
		}
		
		this.isRendered = true;
		
	},
	getPositionEl: function(){
		return this.wrap;
	},
	getResizeEl: function(){
		return this.wrap;
	},
	
	adjustSize: Ext.BoxComponent.prototype.adjustSize,
	
	alignErrorIcon: function(){
		this.errorIcon.alignTo(this.wrap, 'tl-tr', [2, 0]);
	},
	
	onSpecialKey: function(t, e){
		if (e.getKey() == e.TAB) {
			if (t === this.df && !e.shiftKey) {
				e.stopEvent();
				this.tf.focus();
			}
			if (t === this.tf && e.shiftKey) {
				e.stopEvent();
				this.df.focus();
			}
		}
	},
	
	setSize: function(w, h){
		if (!w) {
			return;
		}
		if ('below' == this.timePosition) {
			this.df.setSize(w, h);
			this.tf.setSize(w, h)
			if (Ext.isIE) {
				this.df.el.up('td').setWidth(w);
				this.tf.el.up('td').setWidth(w);
			}
		}
		else {
			this.df.setSize(w - this.timeWidth - 4, h);
			this.tf.setSize(this.timeWidth, h);
			
			if (Ext.isIE) {
				this.df.el.up('td').setWidth(w - this.timeWidth - 4);
				this.tf.el.up('td').setWidth(this.timeWidth);
			}
		}
		
	},
	
	setValue: function(val){
		if (!val) {
			this.setDate('');
			this.setTime('');
			this.updateValue();
			return;
		}
		// clear cross frame AIR nonsense
		val = new Date(val.getTime());
		var da, time;
		if (Ext.isDate(val)) {
			this.setDate(val);
			this.setTime(val);
			this.dateValue = new Date(val);
		}
		else {
			da = val.split(this.dtSeparator);
			this.setDate(da[0]);
			if (da[1]) {
				this.setTime(da[1]);
			}
		}
		this.updateValue();
	},
	
	getValue: function(){
		// create new instance of date
		return this.dateValue ? new Date(this.dateValue) : '';
	},
	
	onMouseDown: function(e){
		// just to prevent blur event when clicked in the middle of fields
		this.wrapClick = 'td' === e.target.nodeName.toLowerCase();
	},
	
	onFocus: function(){
		if (!this.hasFocus) {
			this.hasFocus = true;
			this.startValue = this.getValue();
			this.fireEvent("focus", this);
		}
	},
	
	onBlur: function(f){
		// called by both DateField and TimeField blur events
		
		// revert focus to previous field if clicked in between
		if (this.wrapClick) {
			f.focus();
			this.wrapClick = false;
		}
		
		// update underlying value
		if (f === this.df) {
			this.updateDate();
		}
		else {
			this.updateTime();
		}
		this.updateHidden();
		
		// fire events later
		(function(){
			if (!this.df.hasFocus && !this.tf.hasFocus) {
				var v = this.getValue();
				if (String(v) !== String(this.startValue)) {
					this.fireEvent("change", this, v, this.startValue);
				}
				this.hasFocus = false;
				this.fireEvent('blur', this);
			}
		}).defer(100, this);
		
	},
	updateDate: function(){
	
		var d = this.df.getValue();
		if (d) {
			if (!Ext.isDate(this.dateValue)) {
				this.initDateValue();
				if (!this.tf.getValue()) {
					this.setTime(this.dateValue);
				}
			}
			this.dateValue.setFullYear(d.getFullYear());
			this.dateValue.setMonth(d.getMonth());
			this.dateValue.setDate(d.getDate());
		}
		else {
			this.dateValue = '';
			this.setTime('');
		}
	},
	updateTime: function(){
		var t = this.tf.getValue();
		if (t && !Ext.isDate(t)) {
			t = Date.parseDate(t, this.tf.format);
		}
		if (t && !this.df.getValue()) {
			this.initDateValue();
			this.setDate(this.dateValue);
		}
		if (Ext.isDate(this.dateValue)) {
			if (t) {
				this.dateValue.setHours(t.getHours());
				this.dateValue.setMinutes(t.getMinutes());
				this.dateValue.setSeconds(t.getSeconds());
			}
			else {
				this.dateValue.setHours(0);
				this.dateValue.setMinutes(0);
				this.dateValue.setSeconds(0);
			}
		}
	},
	initDateValue: function(){
		this.dateValue = this.otherToNow ? new Date() : new Date(1970, 0, 1, 0, 0, 0);
	},
	updateHidden: function(){
		if (this.isRendered) {
			var value = Ext.isDate(this.dateValue) ? this.dateValue.format(this.hiddenFormat) : '';
			this.el.dom.value = value;
		}
	},
	updateValue: function(){
	
		this.updateDate();
		this.updateTime();
		this.updateHidden();
		
		return;
		
	},
	setDate: function(date){
		this.df.setValue(date);
	},
	setTime: function(date){
		this.tf.setValue(date);
	},
	isValid: function(){
		return this.df.isValid() && this.tf.isValid();
	},
	validate: function(){
		return this.df.validate() && this.tf.validate();
	},
	focus: function(){
		this.df.focus();
	},
	
	onDisable : function(){
		if(this.rendered){
			this.df.disable();
			this.tf.disable();
		}
	},
	
	onEnable : function(){
		if(this.rendered){
			this.df.enable();
			this.tf.enable();
		}
	}
});

// register xtype
Ext.reg('xdatetime', Ext.ux.form.DateTime);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产在线视频不卡二| 久久久国产精品午夜一区ai换脸| 欧美一区二区在线免费观看| 国产日韩av一区二区| 亚洲不卡av一区二区三区| 国产精品18久久久久久久网站| 欧美视频一区在线观看| 中文幕一区二区三区久久蜜桃| 亚洲不卡一区二区三区| 色悠悠久久综合| 国产日韩欧美麻豆| 国产真实乱子伦精品视频| 欧美人妇做爰xxxⅹ性高电影| 亚洲欧洲韩国日本视频| 国产91富婆露脸刺激对白| 日韩你懂的电影在线观看| 视频一区视频二区在线观看| 色综合咪咪久久| 亚洲少妇中出一区| 99久久久无码国产精品| 国产日产欧产精品推荐色| 国产乱人伦偷精品视频免下载| 日韩视频免费观看高清完整版在线观看| 亚洲欧美激情在线| 93久久精品日日躁夜夜躁欧美| 久久久久久麻豆| 国产一区二区精品久久| 久久久精品日韩欧美| 国产乱人伦偷精品视频不卡| 国产日韩v精品一区二区| 国产精品亚洲午夜一区二区三区| www国产亚洲精品久久麻豆| 黄色日韩三级电影| 精品福利在线导航| 国产精品一品二品| 国产精品乱人伦| 99精品国产热久久91蜜凸| 成人免费在线视频| 91国产成人在线| 日韩激情一二三区| 欧美一区三区四区| 国产高清在线观看免费不卡| 国产日韩精品视频一区| 一本色道a无线码一区v| 亚洲成人av电影在线| 日韩视频在线你懂得| 蜜乳av一区二区| 国产三级精品在线| 91浏览器入口在线观看| 亚洲不卡av一区二区三区| 欧美zozo另类异族| 国产福利一区二区三区视频在线| 国产日产欧美一区| 在线亚洲一区观看| 青椒成人免费视频| 久久久精品国产免大香伊| 91啪在线观看| 亚洲第一在线综合网站| 日韩三级精品电影久久久| 国产一区二区三区在线观看免费 | 成人免费观看男女羞羞视频| 国产精品国产三级国产| 欧美三级视频在线| 日本v片在线高清不卡在线观看| 欧美videossexotv100| 国产成人精品影院| 亚洲男同1069视频| 制服丝袜亚洲网站| 国产一区二区免费视频| 亚洲一区在线电影| 日韩三级高清在线| 91网址在线看| 一区二区三国产精华液| 91精品国产综合久久福利软件| 美日韩一级片在线观看| 国产精品丝袜黑色高跟| 91精品国产色综合久久久蜜香臀| 国产露脸91国语对白| 亚洲精品免费播放| 久久在线观看免费| 欧美午夜宅男影院| 成人激情免费电影网址| 天堂久久一区二区三区| 中文字幕乱码久久午夜不卡 | 欧美日韩国产精选| 成人免费黄色在线| 精品影视av免费| 午夜久久久久久| 亚洲免费在线看| 中文久久乱码一区二区| 精品va天堂亚洲国产| 欧美一区二区三区视频在线观看 | 91在线观看一区二区| 国产精品99久久久久久久vr | 91国产成人在线| 不卡av在线网| 国产成人午夜视频| 国产一区二区三区四区五区美女 | 色天天综合色天天久久| 风间由美中文字幕在线看视频国产欧美 | 一本色道久久综合狠狠躁的推荐 | 不卡一区在线观看| 国产乱子轮精品视频| 久久精品久久精品| 久久精品国产亚洲高清剧情介绍 | 91在线免费视频观看| 国产91精品一区二区麻豆网站| 国产精品亚洲视频| 国产一区二区三区日韩| 国产精品中文欧美| 国产精品亚洲视频| 成人看片黄a免费看在线| 国产主播一区二区三区| 国产自产v一区二区三区c| 狠狠色丁香婷综合久久| 国产精品综合在线视频| 国产精品综合网| 成人黄动漫网站免费app| 成人午夜在线播放| 99精品视频在线观看| www.色综合.com| 日本精品一区二区三区四区的功能| 91美女在线视频| 在线欧美日韩精品| 欧美另类z0zxhd电影| 欧美一级二级在线观看| 欧美成人一区二区| 国产午夜一区二区三区| 日本一区二区在线不卡| 亚洲私人影院在线观看| 午夜视频一区二区| 久久国产精品99久久人人澡| 国产乱妇无码大片在线观看| 91一区二区三区在线播放| 欧美体内she精高潮| 日韩精品一区二区三区中文精品| 久久久蜜桃精品| 国产精品久线在线观看| 午夜亚洲国产au精品一区二区| 蜜臀久久久久久久| 国产成人av资源| 欧美亚洲综合色| 久久综合色婷婷| 亚洲欧美日韩国产综合| 日韩av不卡一区二区| 国产精品中文字幕欧美| 欧美三级电影网| 国产人成一区二区三区影院| 亚洲午夜一区二区三区| 久久99精品久久只有精品| 不卡的av中国片| 在线播放视频一区| 中文字幕成人在线观看| 日本亚洲电影天堂| av网站免费线看精品| 欧美一区国产二区| 综合精品久久久| 美腿丝袜亚洲综合| 色天使久久综合网天天| 精品国产自在久精品国产| 亚洲色图视频网| 国产一区二区三区av电影| 欧美图区在线视频| 中文字幕在线观看一区二区| 激情综合色综合久久综合| 欧美日韩中字一区| 亚洲少妇30p| 风间由美中文字幕在线看视频国产欧美| 欧美日韩日本视频| 自拍偷拍国产精品| 国产河南妇女毛片精品久久久 | 欧美日韩黄色一区二区| 日韩理论片网站| 国产精品一区一区三区| 欧美精品tushy高清| 亚洲三级理论片| 国产经典欧美精品| 精品国产91乱码一区二区三区| 亚洲成人在线网站| 日本乱人伦aⅴ精品| 国产精品久久久久一区二区三区 | 免费在线观看一区| 91豆麻精品91久久久久久| 国产精品女上位| 国产精品12区| 久久久久免费观看| 国产乱色国产精品免费视频| 26uuu欧美日本| 精一区二区三区| 欧美大片一区二区| 免费精品视频在线| 日韩色视频在线观看| 日本欧美一区二区在线观看| 欧美日韩电影在线| 亚洲va韩国va欧美va| 欧美人与禽zozo性伦| 日韩和欧美一区二区| 欧美一区二区三区视频在线| 另类欧美日韩国产在线| 欧美一区二区福利在线|