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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? prototype.js

?? ext js demo ext學習資料
?? JS
?? 第 1 頁 / 共 5 頁
字號:
function $$() {  return Selector.findChildElements(document, $A(arguments));}var Form = {  reset: function(form) {    $(form).reset();    return form;  },  serializeElements: function(elements, getHash) {    var data = elements.inject({}, function(result, element) {      if (!element.disabled && element.name) {        var key = element.name, value = $(element).getValue();        if (value != undefined) {          if (result[key]) {            if (result[key].constructor != Array) result[key] = [result[key]];            result[key].push(value);          }          else result[key] = value;        }      }      return result;    });    return getHash ? data : Hash.toQueryString(data);  }};Form.Methods = {  serialize: function(form, getHash) {    return Form.serializeElements(Form.getElements(form), getHash);  },  getElements: function(form) {    return $A($(form).getElementsByTagName('*')).inject([],      function(elements, child) {        if (Form.Element.Serializers[child.tagName.toLowerCase()])          elements.push(Element.extend(child));        return elements;      }    );  },  getInputs: function(form, typeName, name) {    form = $(form);    var inputs = form.getElementsByTagName('input');    if (!typeName && !name) return $A(inputs).map(Element.extend);    for (var i = 0, matchingInputs = [], length = inputs.length; i < length; i++) {      var input = inputs[i];      if ((typeName && input.type != typeName) || (name && input.name != name))        continue;      matchingInputs.push(Element.extend(input));    }    return matchingInputs;  },  disable: function(form) {    form = $(form);    form.getElements().each(function(element) {      element.blur();      element.disabled = 'true';    });    return form;  },  enable: function(form) {    form = $(form);    form.getElements().each(function(element) {      element.disabled = '';    });    return form;  },  findFirstElement: function(form) {    return $(form).getElements().find(function(element) {      return element.type != 'hidden' && !element.disabled &&        ['input', 'select', 'textarea'].include(element.tagName.toLowerCase());    });  },  focusFirstElement: function(form) {    form = $(form);    form.findFirstElement().activate();    return form;  }}Object.extend(Form, Form.Methods);/*--------------------------------------------------------------------------*/Form.Element = {  focus: function(element) {    $(element).focus();    return element;  },  select: function(element) {    $(element).select();    return element;  }}Form.Element.Methods = {  serialize: function(element) {    element = $(element);    if (!element.disabled && element.name) {      var value = element.getValue();      if (value != undefined) {        var pair = {};        pair[element.name] = value;        return Hash.toQueryString(pair);      }    }    return '';  },  getValue: function(element) {    element = $(element);    var method = element.tagName.toLowerCase();    return Form.Element.Serializers[method](element);  },  clear: function(element) {    $(element).value = '';    return element;  },  present: function(element) {    return $(element).value != '';  },  activate: function(element) {    element = $(element);    element.focus();    if (element.select && ( element.tagName.toLowerCase() != 'input' ||      !['button', 'reset', 'submit'].include(element.type) ) )      element.select();    return element;  },  disable: function(element) {    element = $(element);    element.disabled = true;    return element;  },  enable: function(element) {    element = $(element);    element.blur();    element.disabled = false;    return element;  }}Object.extend(Form.Element, Form.Element.Methods);var Field = Form.Element;var $F = Form.Element.getValue;/*--------------------------------------------------------------------------*/Form.Element.Serializers = {  input: function(element) {    switch (element.type.toLowerCase()) {      case 'checkbox':      case 'radio':        return Form.Element.Serializers.inputSelector(element);      default:        return Form.Element.Serializers.textarea(element);    }  },  inputSelector: function(element) {    return element.checked ? element.value : null;  },  textarea: function(element) {    return element.value;  },  select: function(element) {    return this[element.type == 'select-one' ?      'selectOne' : 'selectMany'](element);  },  selectOne: function(element) {    var index = element.selectedIndex;    return index >= 0 ? this.optionValue(element.options[index]) : null;  },  selectMany: function(element) {    var values, length = element.length;    if (!length) return null;    for (var i = 0, values = []; i < length; i++) {      var opt = element.options[i];      if (opt.selected) values.push(this.optionValue(opt));    }    return values;  },  optionValue: function(opt) {    // extend element because hasAttribute may not be native    return Element.extend(opt).hasAttribute('value') ? opt.value : opt.text;  }}/*--------------------------------------------------------------------------*/Abstract.TimedObserver = function() {}Abstract.TimedObserver.prototype = {  initialize: function(element, frequency, callback) {    this.frequency = frequency;    this.element   = $(element);    this.callback  = callback;    this.lastValue = this.getValue();    this.registerCallback();  },  registerCallback: function() {    setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);  },  onTimerEvent: function() {    var value = this.getValue();    var changed = ('string' == typeof this.lastValue && 'string' == typeof value      ? this.lastValue != value : String(this.lastValue) != String(value));    if (changed) {      this.callback(this.element, value);      this.lastValue = value;    }  }}Form.Element.Observer = Class.create();Form.Element.Observer.prototype = Object.extend(new Abstract.TimedObserver(), {  getValue: function() {    return Form.Element.getValue(this.element);  }});Form.Observer = Class.create();Form.Observer.prototype = Object.extend(new Abstract.TimedObserver(), {  getValue: function() {    return Form.serialize(this.element);  }});/*--------------------------------------------------------------------------*/Abstract.EventObserver = function() {}Abstract.EventObserver.prototype = {  initialize: function(element, callback) {    this.element  = $(element);    this.callback = callback;    this.lastValue = this.getValue();    if (this.element.tagName.toLowerCase() == 'form')      this.registerFormCallbacks();    else      this.registerCallback(this.element);  },  onElementEvent: function() {    var value = this.getValue();    if (this.lastValue != value) {      this.callback(this.element, value);      this.lastValue = value;    }  },  registerFormCallbacks: function() {    Form.getElements(this.element).each(this.registerCallback.bind(this));  },  registerCallback: function(element) {    if (element.type) {      switch (element.type.toLowerCase()) {        case 'checkbox':        case 'radio':          Event.observe(element, 'click', this.onElementEvent.bind(this));          break;        default:          Event.observe(element, 'change', this.onElementEvent.bind(this));          break;      }    }  }}Form.Element.EventObserver = Class.create();Form.Element.EventObserver.prototype = Object.extend(new Abstract.EventObserver(), {  getValue: function() {    return Form.Element.getValue(this.element);  }});Form.EventObserver = Class.create();Form.EventObserver.prototype = Object.extend(new Abstract.EventObserver(), {  getValue: function() {    return Form.serialize(this.element);  }});if (!window.Event) {  var Event = new Object();}Object.extend(Event, {  KEY_BACKSPACE: 8,  KEY_TAB:       9,  KEY_RETURN:   13,  KEY_ESC:      27,  KEY_LEFT:     37,  KEY_UP:       38,  KEY_RIGHT:    39,  KEY_DOWN:     40,  KEY_DELETE:   46,  KEY_HOME:     36,  KEY_END:      35,  KEY_PAGEUP:   33,  KEY_PAGEDOWN: 34,  element: function(event) {    return event.target || event.srcElement;  },  isLeftClick: function(event) {    return (((event.which) && (event.which == 1)) ||            ((event.button) && (event.button == 1)));  },  pointerX: function(event) {    return event.pageX || (event.clientX +      (document.documentElement.scrollLeft || document.body.scrollLeft));  },  pointerY: function(event) {    return event.pageY || (event.clientY +      (document.documentElement.scrollTop || document.body.scrollTop));  },  stop: function(event) {    if (event.preventDefault) {      event.preventDefault();      event.stopPropagation();    } else {      event.returnValue = false;      event.cancelBubble = true;    }  },  // find the first node with the given tagName, starting from the  // node the event was triggered on; traverses the DOM upwards  findElement: function(event, tagName) {    var element = Event.element(event);    while (element.parentNode && (!element.tagName ||        (element.tagName.toUpperCase() != tagName.toUpperCase())))      element = element.parentNode;    return element;  },  observers: false,  _observeAndCache: function(element, name, observer, useCapture) {    if (!this.observers) this.observers = [];    if (element.addEventListener) {      this.observers.push([element, name, observer, useCapture]);      element.addEventListener(name, observer, useCapture);    } else if (element.attachEvent) {      this.observers.push([element, name, observer, useCapture]);      element.attachEvent('on' + name, observer);    }  },  unloadCache: function() {    if (!Event.observers) return;    for (var i = 0, length = Event.observers.length; i < length; i++) {      Event.stopObserving.apply(this, Event.observers[i]);      Event.observers[i][0] = null;    }    Event.observers = false;  },  observe: function(element, name, observer, useCapture) {    element = $(element);    useCapture = useCapture || false;    if (name == 'keypress' &&        (navigator.appVersion.match(/Konqueror|Safari|KHTML/)        || element.attachEvent))      name = 'keydown';    Event._observeAndCache(element, name, observer, useCapture);  },  stopObserving: function(element, name, observer, useCapture) {    element = $(element);    useCapture = useCapture || false;    if (name == 'keypress' &&        (navigator.appVersion.match(/Konqueror|Safari|KHTML/)        || element.detachEvent))      name = 'keydown';    if (element.removeEventListener) {      element.removeEventListener(name, observer, useCapture);    } else if (element.detachEvent) {      try {        element.detachEvent('on' + name, observer);      } catch (e) {}    }  }});/* prevent memory leaks in IE */if (navigator.appVersion.match(/\bMSIE\b/))  Event.observe(window, 'unload', Event.unloadCache, false);var Position = {  // set to true if needed, warning: firefox performance problems  // NOT neeeded for page scrolling, only if draggable contained in  // scrollable elements  includeScrollOffsets: false,  // must be called before calling withinIncludingScrolloffset, every time the  // page is scrolled  prepare: function() {    this.deltaX =  window.pageXOffset                || document.documentElement.scrollLeft                || document.body.scrollLeft                || 0;    this.deltaY =  window.pageYOffset                || document.documentElement.scrollTop                || document.body.scrollTop                || 0;  },  realOffset: function(element) {    var valueT = 0, valueL = 0;    do {      valueT += element.scrollTop  || 0;      valueL += element.scrollLeft || 0;      element = element.parentNode;    } while (element);    return [valueL, valueT];  },  cumulativeOffset: function(element) {    var valueT = 0, valueL = 0;    do {      valueT += element.offsetTop  || 0;      valueL += element.offsetLeft || 0;      element = element.offsetParent;    } while (element);    return [valueL, valueT];  },  positionedOffset: function(element) {    var valueT = 0, valueL = 0;    do {   

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91在线一区二区三区| 一本大道av伊人久久综合| 精品日韩欧美在线| 国产精品久久久久久久久动漫| 国产又黄又大久久| 欧美日韩亚洲综合| 国产精品久久久久久久久久久免费看 | 成人av综合一区| 麻豆精品在线播放| 午夜免费欧美电影| 亚洲欧美成人一区二区三区| 94-欧美-setu| 成人国产视频在线观看| 国产成人免费av在线| 国产三级精品视频| 欧美电视剧免费全集观看| 中文字幕欧美三区| 国产午夜久久久久| 日韩免费看的电影| 欧美精品久久99久久在免费线| 国产成人精品影视| 亚洲另类一区二区| 最新国产精品久久精品| 色综合久久天天| 久久99久久精品欧美| 精品美女在线观看| 国产风韵犹存在线视精品| 国产综合久久久久久久久久久久| 美脚の诱脚舐め脚责91| 婷婷成人综合网| 午夜精品久久久久久久久| 亚洲图片一区二区| 欧美精品123区| 欧美日韩不卡一区二区| 欧美一区二区三区不卡| 日韩欧美成人一区二区| 久久精品夜夜夜夜久久| 国产99久久久国产精品潘金| 亚洲综合图片区| 香蕉影视欧美成人| 日本不卡123| 亚洲美女在线一区| 国产欧美日韩综合| 91精品国产综合久久香蕉麻豆| 国产91富婆露脸刺激对白| 亚洲二区视频在线| 2020国产精品自拍| 91精品蜜臀在线一区尤物| 97久久精品人人澡人人爽| 99久久久久免费精品国产| 奇米影视7777精品一区二区| 国产精品久久久久影院色老大| 国产精品动漫网站| 国产精品一线二线三线| 成人免费在线观看入口| 精品亚洲成a人在线观看| 欧美日韩一区二区三区高清| 国产精品国产三级国产| 亚洲国产高清aⅴ视频| 国产精品久久久久久久久久久免费看 | 制服丝袜一区二区三区| 欧美日韩成人在线一区| 欧美精品一级二级三级| 亚洲欧美色综合| 成人精品一区二区三区中文字幕| 日韩女优av电影| 91精品国产全国免费观看| 中文成人av在线| 一区二区三区在线视频免费观看| 丁香婷婷综合激情五月色| 久久综合久久鬼色中文字| 免费欧美在线视频| 欧美一二三区在线| 久久久久久久免费视频了| 国内精品写真在线观看| 日韩欧美精品在线| 美女脱光内衣内裤视频久久网站| 欧美日韩国产欧美日美国产精品| 一二三四区精品视频| 91麻豆国产在线观看| 亚洲日韩欧美一区二区在线| 亚洲乱码国产乱码精品精小说 | 3751色影院一区二区三区| 日韩欧美中文字幕精品| 另类调教123区 | 日韩精品一二三区| 国产高清视频一区| 欧美日韩高清一区二区| 日韩 欧美一区二区三区| 国产在线看一区| 国产精品区一区二区三| 亚洲成人资源网| 国产高清亚洲一区| 亚洲色图欧美偷拍| 欧美体内she精高潮| 精品国产区一区| 国产激情偷乱视频一区二区三区| 欧美国产一区在线| 色天天综合色天天久久| 日韩高清不卡一区二区| av日韩在线网站| 久久久久久亚洲综合| 色综合咪咪久久| 麻豆成人av在线| 欧美午夜影院一区| 一区二区久久久久久| 精品国产一区二区三区忘忧草| 国v精品久久久网| 五月天一区二区| 91成人在线精品| 亚洲午夜久久久久久久久久久 | 亚洲综合成人在线视频| 成人a免费在线看| 精品国内二区三区| 国产精品丝袜久久久久久app| 91日韩精品一区| 亚洲精品国产a| 日韩亚洲欧美一区二区三区| 亚洲综合丁香婷婷六月香| 丁香一区二区三区| 欧美96一区二区免费视频| 久久精品亚洲国产奇米99| 日本高清不卡在线观看| 精品sm捆绑视频| 美女视频网站黄色亚洲| 日韩伦理电影网| 欧美性大战久久| 精一区二区三区| 欧美r级电影在线观看| 日韩高清一级片| 一区二区三区不卡视频在线观看 | 国产成人精品三级麻豆| 午夜a成v人精品| 自拍偷自拍亚洲精品播放| 久久亚洲一区二区三区明星换脸| 偷拍一区二区三区四区| 亚洲品质自拍视频| 国产视频一区二区在线观看| 日韩一区二区三| 欧美日本国产视频| 在线视频观看一区| 国产精品一线二线三线| 天天影视网天天综合色在线播放| 日韩一区在线播放| 在线免费观看不卡av| 午夜精品123| 久久婷婷色综合| xfplay精品久久| 色综合久久精品| 偷窥国产亚洲免费视频| 91精选在线观看| 欧美日韩精品一区二区三区四区| 亚洲一区二区在线观看视频| 综合久久综合久久| 成人av综合在线| 亚洲人成影院在线观看| 日韩丝袜美女视频| 欧美一区二区精品久久911| 国产sm精品调教视频网站| 国产精品资源网| 成人免费毛片aaaaa**| 丝袜诱惑亚洲看片| 青青草原综合久久大伊人精品| 午夜精品久久久久久久| 日本美女一区二区| 国产精品传媒视频| 亚洲一区二区在线免费看| 丝袜亚洲精品中文字幕一区| 欧美国产日本韩| 欧美电影免费观看高清完整版在 | 国产午夜精品一区二区三区嫩草| 久久久久久影视| 中文字幕亚洲欧美在线不卡| 亚洲视频每日更新| 丝袜国产日韩另类美女| 精品在线视频一区| 成人午夜短视频| 香蕉乱码成人久久天堂爱免费| 国产午夜精品一区二区三区嫩草 | 欧美日韩午夜在线| 日本一不卡视频| 一区二区三区日韩欧美精品| 国产亚洲综合性久久久影院| 日韩欧美的一区| 亚洲日本丝袜连裤袜办公室| 天天综合色天天| 婷婷久久综合九色综合伊人色| 久久激情综合网| 色屁屁一区二区| 久久久久久一二三区| 精品播放一区二区| 欧美精品一区在线观看| 精品精品国产高清一毛片一天堂| 欧美国产精品中文字幕| 全国精品久久少妇| 欧美在线免费视屏| 中文字幕在线一区| 亚洲女同一区二区| 亚洲一区二区三区在线播放| 国产麻豆一精品一av一免费 |