?? draganddrop.js
字號(hào):
/* Copyright (c) 2004-2006, The Dojo Foundation All Rights Reserved. Licensed under the Academic Free License version 2.1 or above OR the modified BSD license. For more information on Dojo licensing, see: http://dojotoolkit.org/community/licensing.shtml*/dojo.require("dojo.lang");dojo.provide("dojo.dnd.DragSource");dojo.provide("dojo.dnd.DropTarget");dojo.provide("dojo.dnd.DragObject");dojo.provide("dojo.dnd.DragAndDrop");dojo.dnd.DragSource = function(){ var dm = dojo.dnd.dragManager; if(dm["registerDragSource"]){ // side-effect prevention dm.registerDragSource(this); }}dojo.lang.extend(dojo.dnd.DragSource, { type: "", onDragEnd: function(){ }, onDragStart: function(){ }, /* * This function gets called when the DOM element was * selected for dragging by the HtmlDragAndDropManager. */ onSelected: function(){ }, unregister: function(){ dojo.dnd.dragManager.unregisterDragSource(this); }, reregister: function(){ dojo.dnd.dragManager.registerDragSource(this); }});dojo.dnd.DragObject = function(){ var dm = dojo.dnd.dragManager; if(dm["registerDragObject"]){ // side-effect prevention dm.registerDragObject(this); }}dojo.lang.extend(dojo.dnd.DragObject, { type: "", onDragStart: function(){ // gets called directly after being created by the DragSource // default action is to clone self as icon }, onDragMove: function(){ // this changes the UI for the drag icon // "it moves itself" }, onDragOver: function(){ }, onDragOut: function(){ }, onDragEnd: function(){ }, // normal aliases onDragLeave: this.onDragOut, onDragEnter: this.onDragOver, // non-camel aliases ondragout: this.onDragOut, ondragover: this.onDragOver});dojo.dnd.DropTarget = function(){ if (this.constructor == dojo.dnd.DropTarget) { return; } // need to be subclassed this.acceptedTypes = []; dojo.dnd.dragManager.registerDropTarget(this);}dojo.lang.extend(dojo.dnd.DropTarget, { acceptsType: function(type){ if(!dojo.lang.inArray(this.acceptedTypes, "*")){ // wildcard if(!dojo.lang.inArray(this.acceptedTypes, type)) { return false; } } return true; }, accepts: function(dragObjects){ if(!dojo.lang.inArray(this.acceptedTypes, "*")){ // wildcard for (var i = 0; i < dragObjects.length; i++) { if (!dojo.lang.inArray(this.acceptedTypes, dragObjects[i].type)) { return false; } } } return true; }, onDragOver: function(){ }, onDragOut: function(){ }, onDragMove: function(){ }, onDropStart: function(){ }, onDrop: function(){ }, onDropEnd: function(){ }});// NOTE: this interface is defined here for the convenience of the DragManager// implementor. It is expected that in most cases it will be satisfied by// extending a native event (DOM event in HTML and SVG).dojo.dnd.DragEvent = function(){ this.dragSource = null; this.dragObject = null; this.target = null; this.eventStatus = "success"; // // can be one of: // [ "dropSuccess", "dropFailure", "dragMove", // "dragStart", "dragEnter", "dragLeave"] //}dojo.dnd.DragManager = function(){ /* * The DragManager handles listening for low-level events and dispatching * them to higher-level primitives like drag sources and drop targets. In * order to do this, it must keep a list of the items. */}dojo.lang.extend(dojo.dnd.DragManager, { selectedSources: [], dragObjects: [], dragSources: [], registerDragSource: function(){}, dropTargets: [], registerDropTarget: function(){}, lastDragTarget: null, currentDragTarget: null, onKeyDown: function(){}, onMouseOut: function(){}, onMouseMove: function(){}, onMouseUp: function(){}});// NOTE: despite the existance of the DragManager class, there will be a// singleton drag manager provided by the renderer-specific D&D support code.// It is therefore sane for us to assign instance variables to the DragManager// prototype// The renderer-specific file will define the following object:// dojo.dnd.dragManager = null;
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -