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

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

?? events.js

?? 用來在地圖上做操作GIS,在地圖上做標記
?? JS
?? 第 1 頁 / 共 2 頁
字號:
/* Copyright (c) 2006-2007 MetaCarta, Inc., published under the BSD license. * See http://svn.openlayers.org/trunk/openlayers/release-license.txt  * for the full text of the license. *//** * @requires OpenLayers/Util.js * * Namespace: OpenLayers.Event * Utility functions for event handling. */OpenLayers.Event = {    /**      * Property: observers      * {Object} A hashtable cache of the event observers. Keyed by     * element._eventCacheID      */    observers: false,        /**      * Constant: KEY_BACKSPACE      * {int}      */    KEY_BACKSPACE: 8,    /**      * Constant: KEY_TAB      * {int}      */    KEY_TAB: 9,    /**      * Constant: KEY_RETURN      * {int}      */    KEY_RETURN: 13,    /**      * Constant: KEY_ESC      * {int}      */    KEY_ESC: 27,    /**      * Constant: KEY_LEFT      * {int}      */    KEY_LEFT: 37,    /**      * Constant: KEY_UP      * {int}      */    KEY_UP: 38,    /**      * Constant: KEY_RIGHT      * {int}      */    KEY_RIGHT: 39,    /**      * Constant: KEY_DOWN      * {int}      */    KEY_DOWN: 40,    /**      * Constant: KEY_DELETE      * {int}      */    KEY_DELETE: 46,    /**     * Method: element     * Cross browser event element detection.     *      * Parameters:     * event - {Event}      *      * Returns:     * {DOMElement} The element that caused the event      */    element: function(event) {        return event.target || event.srcElement;    },    /**     * Method: isLeftClick     * Determine whether event was caused by a left click.      *     * Parameters:     * event - {Event}      *      * Returns:     * {Boolean}     */    isLeftClick: function(event) {        return (((event.which) && (event.which == 1)) ||                ((event.button) && (event.button == 1)));    },    /**     * Method: stop     * Stops an event from propagating.      *     * Parameters:      * event - {Event}      * allowDefault - {Boolean} If true, we stop the event chain but      *                               still allow the default browser      *                               behaviour (text selection, radio-button      *                               clicking, etc)     *                               Default false     */    stop: function(event, allowDefault) {                if (!allowDefault) {             if (event.preventDefault) {                event.preventDefault();            } else {                event.returnValue = false;            }        }                        if (event.stopPropagation) {            event.stopPropagation();        } else {            event.cancelBubble = true;        }    },    /**      * Method: findElement     *      * Parameters:     * event - {Event}      * tagName - {String}      *      * Returns:     * {DOMElement} The first node with the given tagName, starting from the     * node the event was triggered on and traversing the DOM upwards     */    findElement: function(event, tagName) {        var element = OpenLayers.Event.element(event);        while (element.parentNode && (!element.tagName ||              (element.tagName.toUpperCase() != tagName.toUpperCase())))            element = element.parentNode;        return element;    },    /**      * Method: observe     *      * Parameters:     * elementParam - {DOMElement || String}      * name - {String}      * observer - {function}      * useCapture - {Boolean}      */    observe: function(elementParam, name, observer, useCapture) {        var element = OpenLayers.Util.getElement(elementParam);        useCapture = useCapture || false;        if (name == 'keypress' &&           (navigator.appVersion.match(/Konqueror|Safari|KHTML/)           || element.attachEvent)) {            name = 'keydown';        }        //if observers cache has not yet been created, create it        if (!this.observers) {            this.observers = {};        }        //if not already assigned, make a new unique cache ID        if (!element._eventCacheID) {            var idPrefix = "eventCacheID_";            if (element.id) {                idPrefix = element.id + "_" + idPrefix;            }            element._eventCacheID = OpenLayers.Util.createUniqueID(idPrefix);        }        var cacheID = element._eventCacheID;        //if there is not yet a hash entry for this element, add one        if (!this.observers[cacheID]) {            this.observers[cacheID] = [];        }        //add a new observer to this element's list        this.observers[cacheID].push({            'element': element,            'name': name,            'observer': observer,            'useCapture': useCapture        });        //add the actual browser event listener        if (element.addEventListener) {            element.addEventListener(name, observer, useCapture);        } else if (element.attachEvent) {            element.attachEvent('on' + name, observer);        }    },    /**      * Method: stopObservingElement     * Given the id of an element to stop observing, cycle through the      *   element's cached observers, calling stopObserving on each one,      *   skipping those entries which can no longer be removed.     *      * parameters:     * elementParam - {DOMElement || String}      */    stopObservingElement: function(elementParam) {        var element = OpenLayers.Util.getElement(elementParam);        var cacheID = element._eventCacheID;        this._removeElementObservers(OpenLayers.Event.observers[cacheID]);    },    /**     * Method: _removeElementObservers     *     * Parameters:     * elementObservers - {Array(Object)} Array of (element, name,      *                                         observer, usecapture) objects,      *                                         taken directly from hashtable     */    _removeElementObservers: function(elementObservers) {        if (elementObservers) {            for(var i = elementObservers.length-1; i >= 0; i--) {                var entry = elementObservers[i];                var args = new Array(entry.element,                                     entry.name,                                     entry.observer,                                     entry.useCapture);                var removed = OpenLayers.Event.stopObserving.apply(this, args);            }        }    },    /**     * Method: stopObserving     *      * Parameters:     * elementParam - {DOMElement || String}      * name - {String}      * observer - {function}      * useCapture - {Boolean}      *       * Returns:     * {Boolean} Whether or not the event observer was removed     */    stopObserving: function(elementParam, name, observer, useCapture) {        useCapture = useCapture || false;            var element = OpenLayers.Util.getElement(elementParam);        var cacheID = element._eventCacheID;        if (name == 'keypress') {            if ( navigator.appVersion.match(/Konqueror|Safari|KHTML/) ||                  element.detachEvent) {              name = 'keydown';            }        }        // find element's entry in this.observers cache and remove it        var foundEntry = false;        var elementObservers = OpenLayers.Event.observers[cacheID];        if (elementObservers) {                // find the specific event type in the element's list            var i=0;            while(!foundEntry && i < elementObservers.length) {                var cacheEntry = elementObservers[i];                    if ((cacheEntry.name == name) &&                    (cacheEntry.observer == observer) &&                    (cacheEntry.useCapture == useCapture)) {                        elementObservers.splice(i, 1);                    if (elementObservers.length == 0) {                        delete OpenLayers.Event.observers[cacheID];                    }                    foundEntry = true;                    break;                 }                i++;                       }        }            //actually remove the event listener from browser        if (element.removeEventListener) {            element.removeEventListener(name, observer, useCapture);        } else if (element && element.detachEvent) {            element.detachEvent('on' + name, observer);        }        return foundEntry;    },        /**      * Method: unloadCache     * Cycle through all the element entries in the events cache and call     *   stopObservingElement on each.      */    unloadCache: function() {        if (OpenLayers.Event.observers) {            for (var cacheID in OpenLayers.Event.observers) {                var elementObservers = OpenLayers.Event.observers[cacheID];                OpenLayers.Event._removeElementObservers.apply(this,                                                            [elementObservers]);            }            OpenLayers.Event.observers = false;        }    },    CLASS_NAME: "OpenLayers.Event"};/* prevent memory leaks in IE */OpenLayers.Event.observe(window, 'unload', OpenLayers.Event.unloadCache, false);// FIXME: Remove this in 3.0. In 3.0, Event.stop will no longer be provided// by OpenLayers.if (window.Event) {    OpenLayers.Util.applyDefaults(window.Event, OpenLayers.Event);} else {    var Event = OpenLayers.Event;}/** * Class: OpenLayers.Events */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产女人18水真多18精品一级做| 91美女视频网站| 国产+成+人+亚洲欧洲自线| 91无套直看片红桃| 欧美亚洲一区三区| 日韩一级片在线播放| wwww国产精品欧美| 洋洋成人永久网站入口| 蜜臀av性久久久久蜜臀aⅴ四虎| 国内久久婷婷综合| 在线精品亚洲一区二区不卡| 日韩欧美国产麻豆| 亚洲天堂精品在线观看| 蜜桃视频在线观看一区二区| www.欧美亚洲| 欧美一区二区黄| 中文字幕综合网| 久久国内精品自在自线400部| 91一区二区三区在线播放| 日韩一区二区高清| 亚洲欧美日韩一区| 国产一区二区中文字幕| 在线看日本不卡| 中文在线一区二区| 日韩高清一区二区| 色综合亚洲欧洲| 精品国产露脸精彩对白 | 精品一区二区在线视频| 91色在线porny| 亚洲精品在线免费观看视频| 亚洲乱码国产乱码精品精98午夜 | 国产亚洲精品bt天堂精选| 一区二区三区不卡视频在线观看 | 国产精品国产三级国产有无不卡 | 91精品国产高清一区二区三区| 国产女人18毛片水真多成人如厕| 日本网站在线观看一区二区三区| 91丨porny丨国产入口| 精品国产亚洲一区二区三区在线观看| 亚洲国产婷婷综合在线精品| 国产高清久久久| 日韩免费一区二区| 五月天欧美精品| 一本色道亚洲精品aⅴ| 国产亚洲一本大道中文在线| 日本成人中文字幕在线视频| 色爱区综合激月婷婷| 国产精品高潮呻吟| 丰满少妇在线播放bd日韩电影| 欧美tickling挠脚心丨vk| 亚洲成人免费影院| 日本韩国欧美国产| 成人欧美一区二区三区视频网页| 国产高清精品网站| 久久久午夜电影| 国产自产视频一区二区三区| 欧美一区二区视频在线观看2020| 亚洲午夜在线电影| 在线观看一区二区视频| 亚洲欧美电影院| 97精品视频在线观看自产线路二| 国产丝袜欧美中文另类| 国产精品18久久久久久久久| 精品国产制服丝袜高跟| 麻豆国产91在线播放| 欧美一级久久久久久久大片| 香蕉成人啪国产精品视频综合网| 欧美专区日韩专区| 亚洲一区二区三区在线| 色老汉av一区二区三区| 亚洲精品国产无天堂网2021| 91麻豆高清视频| 亚洲另类在线视频| 欧美四级电影在线观看| 亚洲午夜视频在线| 在线成人午夜影院| 麻豆精品在线观看| 久久综合狠狠综合久久综合88| 国产麻豆精品视频| 欧美激情一二三区| 成人福利视频在线看| 中文字幕中文乱码欧美一区二区| 成人91在线观看| 亚洲久本草在线中文字幕| 欧美性生交片4| 日韩二区在线观看| 欧美va亚洲va香蕉在线| 国产高清不卡二三区| 中文字幕中文字幕中文字幕亚洲无线| 91理论电影在线观看| 亚洲一区二区三区四区在线免费观看| 欧美日韩国产综合一区二区| 蜜桃视频一区二区三区在线观看| 精品国产免费人成在线观看| 国产精品亚洲成人| 亚洲天堂免费在线观看视频| 欧美午夜不卡视频| 美国十次了思思久久精品导航| 精品国产露脸精彩对白| av中文字幕在线不卡| 一区二区三区在线视频播放| 91精品国产色综合久久不卡蜜臀| 激情欧美一区二区三区在线观看| 国产午夜精品福利| 色婷婷久久99综合精品jk白丝| 人人精品人人爱| 久久先锋影音av鲁色资源网| 91在线云播放| 青青青伊人色综合久久| 国产精品视频第一区| 在线一区二区三区四区| 男女性色大片免费观看一区二区| 久久精品亚洲一区二区三区浴池| 不卡一卡二卡三乱码免费网站| 亚洲成人av资源| 久久久精品人体av艺术| 欧美亚洲自拍偷拍| 国内精品久久久久影院色 | 欧美日韩在线直播| 精品一区二区国语对白| 亚洲精品免费视频| 日韩欧美亚洲另类制服综合在线| 成人午夜激情片| 日本麻豆一区二区三区视频| 国产精品国产馆在线真实露脸 | 奇米色一区二区| 中文字幕久久午夜不卡| 欧美日精品一区视频| 国产精品99久久久久久有的能看 | 欧美精品在线一区二区三区| 国产麻豆一精品一av一免费| 亚洲大尺度视频在线观看| 久久久国际精品| 91精品国产aⅴ一区二区| 成人av第一页| 精品无人码麻豆乱码1区2区| 亚洲一区二区三区不卡国产欧美| 久久久久国色av免费看影院| 欧美日韩成人一区| 色综合欧美在线| 国产毛片精品国产一区二区三区| 婷婷丁香久久五月婷婷| 亚洲色欲色欲www| 国产亚洲一区二区三区在线观看| 3d动漫精品啪啪| 日本精品一区二区三区高清 | 欧美激情在线免费观看| 欧美一区二区三区在线看| 一本久道久久综合中文字幕| 激情图区综合网| 日韩av在线发布| 亚洲一区在线看| 亚洲手机成人高清视频| 久久精品夜夜夜夜久久| 欧美不卡在线视频| 欧美乱熟臀69xxxxxx| 色老综合老女人久久久| 成人福利视频网站| 国产一区二区在线免费观看| 日本三级韩国三级欧美三级| 亚洲精品国产a| 亚洲免费观看在线视频| 国产清纯美女被跳蛋高潮一区二区久久w | 日韩欧美一级在线播放| 欧美视频精品在线观看| 91美女片黄在线观看| 成人黄页在线观看| 国产69精品久久99不卡| 国产在线一区观看| 国产一区二三区| 国产一区视频在线看| 精品一二线国产| 另类小说图片综合网| 日本一区中文字幕| 日产国产欧美视频一区精品| 午夜精品福利一区二区蜜股av| 亚洲一区在线观看免费| 亚洲国产一区视频| 午夜精品久久一牛影视| 日韩精品视频网站| 三级成人在线视频| 日本美女视频一区二区| 麻豆久久一区二区| 国产在线不卡一区| 国产一区二区日韩精品| 国产一本一道久久香蕉| 国产精品99久久久久久有的能看 | 国产亚洲午夜高清国产拍精品| 久久亚洲一区二区三区四区| 精品电影一区二区| 国产亚洲一二三区| 国产精品美女久久久久av爽李琼 | 91网站在线播放| 一本到高清视频免费精品| 在线一区二区三区四区五区 | 免费xxxx性欧美18vr| 麻豆成人av在线| 国产乱妇无码大片在线观看| 成人激情免费网站| 色一情一乱一乱一91av|