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

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

?? dropzone.js

?? ext js demo ext學習資料
?? JS
字號:
/*
 * Ext JS Library 1.1 RC 1
 * Copyright(c) 2006-2007, Ext JS, LLC.
 * licensing@extjs.com
 * 
 * http://www.extjs.com/license
 */

/**
 * @class Ext.dd.DropZone
 * @extends Ext.dd.DropTarget
 * This class provides a container DD instance that proxies for multiple child node targets.<br />
 * By default, this class requires that child nodes accepting drop are registered with {@link Ext.dd.Registry}.
 * @constructor
 * @param {String/HTMLElement/Element} el The container element
 * @param {Object} config
 */
Ext.dd.DropZone = function(el, config){
    Ext.dd.DropZone.superclass.constructor.call(this, el, config);
};

Ext.extend(Ext.dd.DropZone, Ext.dd.DropTarget, {
    /**
     * Returns a custom data object associated with the DOM node that is the target of the event.  By default
     * this looks up the event target in the {@link Ext.dd.Registry}, although you can override this method to
     * provide your own custom lookup.
     * @param {Event} e The event
     * @return {Object} data The custom data
     */
    getTargetFromEvent : function(e){
        return Ext.dd.Registry.getTargetFromEvent(e);
    },

    /**
     * Called internally when the DropZone determines that a {@link Ext.dd.DragSource} has entered a drop node
     * that it has registered.  This method has no default implementation and should be overridden to provide
     * node-specific processing if necessary.
     * @param {Object} nodeData The custom data associated with the drop node (this is the same value returned from 
     * {@link #getTargetFromEvent} for this node)
     * @param {Ext.dd.DragSource} source The drag source that was dragged over this drop zone
     * @param {Event} e The event
     * @param {Object} data An object containing arbitrary data supplied by the drag source
     */
    onNodeEnter : function(n, dd, e, data){
        
    },

    /**
     * Called internally while the DropZone determines that a {@link Ext.dd.DragSource} is over a drop node
     * that it has registered.  The default implementation returns this.dropNotAllowed, so it should be
     * overridden to provide the proper feedback.
     * @param {Object} nodeData The custom data associated with the drop node (this is the same value returned from
     * {@link #getTargetFromEvent} for this node)
     * @param {Ext.dd.DragSource} source The drag source that was dragged over this drop zone
     * @param {Event} e The event
     * @param {Object} data An object containing arbitrary data supplied by the drag source
     * @return {String} status The CSS class that communicates the drop status back to the source so that the
     * underlying {@link Ext.dd.StatusProxy} can be updated
     */
    onNodeOver : function(n, dd, e, data){
        return this.dropAllowed;
    },

    /**
     * Called internally when the DropZone determines that a {@link Ext.dd.DragSource} has been dragged out of
     * the drop node without dropping.  This method has no default implementation and should be overridden to provide
     * node-specific processing if necessary.
     * @param {Object} nodeData The custom data associated with the drop node (this is the same value returned from
     * {@link #getTargetFromEvent} for this node)
     * @param {Ext.dd.DragSource} source The drag source that was dragged over this drop zone
     * @param {Event} e The event
     * @param {Object} data An object containing arbitrary data supplied by the drag source
     */
    onNodeOut : function(n, dd, e, data){
        
    },

    /**
     * Called internally when the DropZone determines that a {@link Ext.dd.DragSource} has been dropped onto
     * the drop node.  The default implementation returns false, so it should be overridden to provide the
     * appropriate processing of the drop event and return true so that the drag source's repair action does not run.
     * @param {Object} nodeData The custom data associated with the drop node (this is the same value returned from
     * {@link #getTargetFromEvent} for this node)
     * @param {Ext.dd.DragSource} source The drag source that was dragged over this drop zone
     * @param {Event} e The event
     * @param {Object} data An object containing arbitrary data supplied by the drag source
     * @return {Boolean} True if the drop was valid, else false
     */
    onNodeDrop : function(n, dd, e, data){
        return false;
    },

    /**
     * Called internally while the DropZone determines that a {@link Ext.dd.DragSource} is being dragged over it,
     * but not over any of its registered drop nodes.  The default implementation returns this.dropNotAllowed, so
     * it should be overridden to provide the proper feedback if necessary.
     * @param {Ext.dd.DragSource} source The drag source that was dragged over this drop zone
     * @param {Event} e The event
     * @param {Object} data An object containing arbitrary data supplied by the drag source
     * @return {String} status The CSS class that communicates the drop status back to the source so that the
     * underlying {@link Ext.dd.StatusProxy} can be updated
     */
    onContainerOver : function(dd, e, data){
        return this.dropNotAllowed;
    },

    /**
     * Called internally when the DropZone determines that a {@link Ext.dd.DragSource} has been dropped on it,
     * but not on any of its registered drop nodes.  The default implementation returns false, so it should be
     * overridden to provide the appropriate processing of the drop event if you need the drop zone itself to
     * be able to accept drops.  It should return true when valid so that the drag source's repair action does not run.
     * @param {Ext.dd.DragSource} source The drag source that was dragged over this drop zone
     * @param {Event} e The event
     * @param {Object} data An object containing arbitrary data supplied by the drag source
     * @return {Boolean} True if the drop was valid, else false
     */
    onContainerDrop : function(dd, e, data){
        return false;
    },

    /**
     * The function a {@link Ext.dd.DragSource} calls once to notify this drop zone that the source is now over
     * the zone.  The default implementation returns this.dropNotAllowed and expects that only registered drop
     * nodes can process drag drop operations, so if you need the drop zone itself to be able to process drops
     * you should override this method and provide a custom implementation.
     * @param {Ext.dd.DragSource} source The drag source that was dragged over this drop zone
     * @param {Event} e The event
     * @param {Object} data An object containing arbitrary data supplied by the drag source
     * @return {String} status The CSS class that communicates the drop status back to the source so that the
     * underlying {@link Ext.dd.StatusProxy} can be updated
     */
    notifyEnter : function(dd, e, data){
        return this.dropNotAllowed;
    },

    /**
     * The function a {@link Ext.dd.DragSource} calls continuously while it is being dragged over the drop zone.
     * This method will be called on every mouse movement while the drag source is over the drop zone.
     * It will call {@link #onNodeOver} while the drag source is over a registered node, and will also automatically
     * delegate to the appropriate node-specific methods as necessary when the drag source enters and exits
     * registered nodes ({@link #onNodeEnter}, {@link #onNodeOut}). If the drag source is not currently over a
     * registered node, it will call {@link #onContainerOver}.
     * @param {Ext.dd.DragSource} source The drag source that was dragged over this drop zone
     * @param {Event} e The event
     * @param {Object} data An object containing arbitrary data supplied by the drag source
     * @return {String} status The CSS class that communicates the drop status back to the source so that the
     * underlying {@link Ext.dd.StatusProxy} can be updated
     */
    notifyOver : function(dd, e, data){
        var n = this.getTargetFromEvent(e);
        if(!n){ // not over valid drop target
            if(this.lastOverNode){
                this.onNodeOut(this.lastOverNode, dd, e, data);
                this.lastOverNode = null;
            }
            return this.onContainerOver(dd, e, data);
        }
        if(this.lastOverNode != n){
            if(this.lastOverNode){
                this.onNodeOut(this.lastOverNode, dd, e, data);
            }
            this.onNodeEnter(n, dd, e, data);
            this.lastOverNode = n;
        }
        return this.onNodeOver(n, dd, e, data);
    },

    /**
     * The function a {@link Ext.dd.DragSource} calls once to notify this drop zone that the source has been dragged
     * out of the zone without dropping.  If the drag source is currently over a registered node, the notification
     * will be delegated to {@link #onNodeOut} for node-specific handling, otherwise it will be ignored.
     * @param {Ext.dd.DragSource} source The drag source that was dragged over this drop target
     * @param {Event} e The event
     * @param {Object} data An object containing arbitrary data supplied by the drag zone
     */
    notifyOut : function(dd, e, data){
        if(this.lastOverNode){
            this.onNodeOut(this.lastOverNode, dd, e, data);
            this.lastOverNode = null;
        }
    },

    /**
     * The function a {@link Ext.dd.DragSource} calls once to notify this drop zone that the dragged item has
     * been dropped on it.  The drag zone will look up the target node based on the event passed in, and if there
     * is a node registered for that event, it will delegate to {@link #onNodeDrop} for node-specific handling,
     * otherwise it will call {@link #onContainerDrop}.
     * @param {Ext.dd.DragSource} source The drag source that was dragged over this drop zone
     * @param {Event} e The event
     * @param {Object} data An object containing arbitrary data supplied by the drag source
     * @return {Boolean} True if the drop was valid, else false
     */
    notifyDrop : function(dd, e, data){
        if(this.lastOverNode){
            this.onNodeOut(this.lastOverNode, dd, e, data);
            this.lastOverNode = null;
        }
        var n = this.getTargetFromEvent(e);
        return n ?
            this.onNodeDrop(n, dd, e, data) :
            this.onContainerDrop(dd, e, data);
    },

    // private
    triggerCacheRefresh : function(){
        Ext.dd.DDM.refreshCache(this.groups);
    }  
});

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
制服丝袜av成人在线看| 日韩一区二区三区四区| 日韩国产欧美在线播放| 国产精品午夜在线观看| 欧美电影影音先锋| 国产成人福利片| 91蜜桃网址入口| 伦理电影国产精品| 亚洲大尺度视频在线观看| 国产精品美女www爽爽爽| 日韩欧美激情一区| 欧美疯狂做受xxxx富婆| 91首页免费视频| 国产高清一区日本| 卡一卡二国产精品| 婷婷亚洲久悠悠色悠在线播放| 最新久久zyz资源站| 久久精品人人做人人爽人人| 69av一区二区三区| 欧美三级韩国三级日本三斤| 色综合久久久久综合99| 丁香婷婷深情五月亚洲| 精品一区二区三区免费| 琪琪久久久久日韩精品| 亚洲国产另类精品专区| 亚洲精品国产无天堂网2021| 中文字幕第一区第二区| 久久久av毛片精品| 精品国产乱码久久久久久免费| 欧美精品在线一区二区三区| 欧美日韩免费电影| 欧美日韩在线观看一区二区 | 国产精品综合av一区二区国产馆| 日本成人在线不卡视频| 婷婷国产在线综合| 五月婷婷欧美视频| 91亚洲午夜精品久久久久久| 国产成a人无v码亚洲福利| 国产麻豆9l精品三级站| 国产精品性做久久久久久| 蜜桃av一区二区| 国内精品国产成人| 国产乱码精品一区二区三区五月婷| 久久精品国产精品青草| 国产一区二区三区四| 国产精品中文有码| 国产suv精品一区二区三区| 国产成人综合在线观看| 成人看片黄a免费看在线| 成年人国产精品| 色吊一区二区三区| 欧美日韩亚洲综合一区| 3d成人h动漫网站入口| 欧美成人性战久久| 久久精品免费在线观看| 18成人在线观看| 亚洲高清在线视频| 久久99精品久久久久久| 国产99久久久精品| 91国偷自产一区二区三区观看 | 亚洲狠狠爱一区二区三区| 91啪在线观看| 欧美三级中文字幕| 精品国产乱码久久久久久1区2区 | 99久久精品国产一区二区三区| 91浏览器打开| 欧美一卡二卡三卡| 久久久av毛片精品| 亚洲一区二区在线免费看| 男男成人高潮片免费网站| 国产精品影视在线| 色噜噜久久综合| 欧美mv日韩mv| 亚洲卡通欧美制服中文| 免费成人在线网站| 成人av网在线| 在线成人免费观看| 欧美极品少妇xxxxⅹ高跟鞋| 亚洲高清免费观看高清完整版在线观看 | 天天影视网天天综合色在线播放| 韩国女主播成人在线| 91美女视频网站| 欧美大片一区二区三区| 高清在线不卡av| 欧美日韩综合色| 中文一区二区完整视频在线观看| 亚洲综合小说图片| 国产精品一区二区男女羞羞无遮挡| 色综合网色综合| 国产亚洲欧美一级| 日韩制服丝袜av| 99精品久久久久久| 精品1区2区在线观看| 亚洲一区二区欧美| www..com久久爱| 精品日韩欧美一区二区| 亚洲午夜在线电影| av中文字幕一区| 26uuu精品一区二区在线观看| 亚洲黄色在线视频| 国产99精品视频| 日韩欧美你懂的| 亚洲国产美女搞黄色| 成人aaaa免费全部观看| 久久久天堂av| 日本免费在线视频不卡一不卡二| 91免费观看视频在线| 国产欧美日韩亚州综合| 久久精品国产亚洲5555| 欧美日韩国产综合一区二区| 亚洲色欲色欲www在线观看| 国产伦精品一区二区三区视频青涩 | 美日韩黄色大片| 欧美日韩国产综合一区二区| 亚洲人成亚洲人成在线观看图片| 国产精品夜夜爽| 精品对白一区国产伦| 日本中文一区二区三区| 欧美乱妇一区二区三区不卡视频| 亚洲人成在线播放网站岛国 | 欧美中文字幕亚洲一区二区va在线 | 欧美不卡在线视频| 日日欢夜夜爽一区| 在线观看网站黄不卡| 亚洲综合久久久| 91在线丨porny丨国产| 国产精品午夜在线| 波多野结衣一区二区三区 | 久久九九全国免费| 国产在线精品一区二区三区不卡 | 亚洲欧洲av在线| 成人午夜视频网站| 亚洲国产精品99久久久久久久久| 国产在线一区观看| 久久久久久99精品| 成人性视频免费网站| 国产欧美日韩久久| 成人午夜精品一区二区三区| 国产精品妹子av| 成人av免费网站| 亚洲色图视频网| 91福利精品第一导航| 亚洲国产精品久久人人爱蜜臀| 欧美揉bbbbb揉bbbbb| 日av在线不卡| 久久综合久久综合久久综合| 国产精品77777竹菊影视小说| 日本一区二区三区在线观看| 久久久久88色偷偷免费| 成人动漫av在线| 亚洲精品中文在线影院| 欧美日产国产精品| 美腿丝袜亚洲色图| 国产日产欧美一区二区三区| 99精品视频一区二区三区| 亚洲在线免费播放| 欧美一区二区精美| 国产精品一品二品| 亚洲欧美日韩系列| 欧美精品久久久久久久多人混战| 久久99国产乱子伦精品免费| 久久精品欧美日韩精品 | 日本精品一级二级| 三级影片在线观看欧美日韩一区二区| 日韩欧美高清在线| 成人ar影院免费观看视频| 夜夜夜精品看看| 国产91在线|亚洲| 国产日产精品一区| 日本道精品一区二区三区| 日日摸夜夜添夜夜添亚洲女人| 91精品国产高清一区二区三区蜜臀| 国产综合久久久久影院| 中文字幕亚洲欧美在线不卡| 在线免费亚洲电影| 久久99蜜桃精品| 最新国产精品久久精品| 91精品免费观看| 久久久久久久久久久久久夜| 99精品久久只有精品| 麻豆成人久久精品二区三区红| 国产精品久久看| 在线播放中文字幕一区| www.欧美日韩| 蜜桃91丨九色丨蝌蚪91桃色| 综合激情成人伊人| 欧美白人最猛性xxxxx69交| 一本大道av一区二区在线播放| 久久黄色级2电影| 亚洲高清免费观看高清完整版在线观看| 26uuu精品一区二区在线观看| 在线观看免费成人| 高潮精品一区videoshd| 日本一不卡视频| 亚洲欧美视频在线观看视频| 久久精品男人天堂av| 欧美一区二区三区成人| 在线观看网站黄不卡| 成人国产一区二区三区精品| 久久狠狠亚洲综合|