適用於 Adobe® Flash® Platform 的 ActionScript® 3.0 參考
首頁  |  隱藏套件和類別清單 |  套件  |  類別  |  新增內容  |  索引  |  附錄  |  為什麼顯示英文?
篩選: AIR 30.0 和更早版本, Flash Player 30.0 和更早版本, Flash Lite 4
Flex 4.6 和更早版本, Flash Pro CS6 和更早版本
隱藏篩選
flash.desktop 

NativeDragManager  - AS3

套件x

最上層
adobe.utils
air.desktop
air.net
air.update
air.update.events
coldfusion.air
coldfusion.air.errors
coldfusion.air.events
coldfusion.service
coldfusion.service.events
coldfusion.service.mxml
com.adobe.acm.solutions.authoring.domain.extensions
com.adobe.acm.solutions.ccr.domain.extensions
com.adobe.consulting.pst.vo
com.adobe.dct.component
com.adobe.dct.component.datadictionary
com.adobe.dct.component.datadictionaryElement
com.adobe.dct.component.dataElementsPanel
com.adobe.dct.component.toolbars
com.adobe.dct.event
com.adobe.dct.exp
com.adobe.dct.model
com.adobe.dct.service
com.adobe.dct.service.provider
com.adobe.dct.transfer
com.adobe.dct.util
com.adobe.dct.view
com.adobe.ep.taskmanagement.domain
com.adobe.ep.taskmanagement.event
com.adobe.ep.taskmanagement.filter
com.adobe.ep.taskmanagement.services
com.adobe.ep.taskmanagement.util
com.adobe.ep.ux.attachmentlist.component
com.adobe.ep.ux.attachmentlist.domain
com.adobe.ep.ux.attachmentlist.domain.events
com.adobe.ep.ux.attachmentlist.domain.renderers
com.adobe.ep.ux.attachmentlist.skin
com.adobe.ep.ux.attachmentlist.skin.renderers
com.adobe.ep.ux.content.event
com.adobe.ep.ux.content.factory
com.adobe.ep.ux.content.handlers
com.adobe.ep.ux.content.managers
com.adobe.ep.ux.content.model.asset
com.adobe.ep.ux.content.model.preview
com.adobe.ep.ux.content.model.relation
com.adobe.ep.ux.content.model.search
com.adobe.ep.ux.content.model.toolbar
com.adobe.ep.ux.content.search
com.adobe.ep.ux.content.services
com.adobe.ep.ux.content.services.load
com.adobe.ep.ux.content.services.permissions
com.adobe.ep.ux.content.services.preview
com.adobe.ep.ux.content.services.providers
com.adobe.ep.ux.content.services.query
com.adobe.ep.ux.content.services.relationships
com.adobe.ep.ux.content.services.search.lccontent
com.adobe.ep.ux.content.services.version
com.adobe.ep.ux.content.view
com.adobe.ep.ux.content.view.components.activate
com.adobe.ep.ux.content.view.components.grid
com.adobe.ep.ux.content.view.components.grid.hover
com.adobe.ep.ux.content.view.components.grid.hover.component
com.adobe.ep.ux.content.view.components.grid.renderers
com.adobe.ep.ux.content.view.components.relationships
com.adobe.ep.ux.content.view.components.review
com.adobe.ep.ux.content.view.components.search.renderers
com.adobe.ep.ux.content.view.components.searchpod
com.adobe.ep.ux.content.view.components.toolbar
com.adobe.ep.ux.content.view.components.toolbar.controlRenderers
com.adobe.ep.ux.content.view.components.version
com.adobe.ep.ux.documentsubmit.component
com.adobe.ep.ux.documentsubmit.domain
com.adobe.ep.ux.documentsubmit.skin
com.adobe.ep.ux.taskaction.component
com.adobe.ep.ux.taskaction.domain
com.adobe.ep.ux.taskaction.domain.events
com.adobe.ep.ux.taskaction.skin
com.adobe.ep.ux.taskdetails.component
com.adobe.ep.ux.taskdetails.domain
com.adobe.ep.ux.taskdetails.skin
com.adobe.ep.ux.tasklist.component
com.adobe.ep.ux.tasklist.domain
com.adobe.ep.ux.tasklist.skin
com.adobe.ep.ux.webdocumentviewer.domain
com.adobe.exm.expression
com.adobe.exm.expression.error
com.adobe.exm.expression.event
com.adobe.exm.expression.impl
com.adobe.fiber.runtime.lib
com.adobe.fiber.services
com.adobe.fiber.services.wrapper
com.adobe.fiber.styles
com.adobe.fiber.util
com.adobe.fiber.valueobjects
com.adobe.gravity.binding
com.adobe.gravity.context
com.adobe.gravity.flex.bundleloader
com.adobe.gravity.flex.progress
com.adobe.gravity.flex.serviceloader
com.adobe.gravity.framework
com.adobe.gravity.init
com.adobe.gravity.service.bundleloader
com.adobe.gravity.service.logging
com.adobe.gravity.service.manifest
com.adobe.gravity.service.progress
com.adobe.gravity.tracker
com.adobe.gravity.ui
com.adobe.gravity.utility
com.adobe.gravity.utility.async
com.adobe.gravity.utility.error
com.adobe.gravity.utility.events
com.adobe.gravity.utility.factory
com.adobe.gravity.utility.flex.async
com.adobe.gravity.utility.logging
com.adobe.gravity.utility.message
com.adobe.gravity.utility.sequence
com.adobe.gravity.utility.url
com.adobe.guides.control
com.adobe.guides.domain
com.adobe.guides.i18n
com.adobe.guides.spark.components.skins
com.adobe.guides.spark.components.skins.mx
com.adobe.guides.spark.headers.components
com.adobe.guides.spark.headers.skins
com.adobe.guides.spark.layouts.components
com.adobe.guides.spark.layouts.skins
com.adobe.guides.spark.navigators.components
com.adobe.guides.spark.navigators.renderers
com.adobe.guides.spark.navigators.skins
com.adobe.guides.spark.util
com.adobe.guides.spark.wrappers.components
com.adobe.guides.spark.wrappers.skins
com.adobe.guides.submit
com.adobe.icc.dc.domain
com.adobe.icc.dc.domain.factory
com.adobe.icc.editors.events
com.adobe.icc.editors.handlers
com.adobe.icc.editors.managers
com.adobe.icc.editors.model
com.adobe.icc.editors.model.config
com.adobe.icc.editors.model.el
com.adobe.icc.editors.model.el.operands
com.adobe.icc.editors.model.el.operators
com.adobe.icc.enum
com.adobe.icc.external.dc
com.adobe.icc.obj
com.adobe.icc.services
com.adobe.icc.services.category
com.adobe.icc.services.config
com.adobe.icc.services.download
com.adobe.icc.services.export
com.adobe.icc.services.external
com.adobe.icc.services.formbridge
com.adobe.icc.services.fragmentlayout
com.adobe.icc.services.layout
com.adobe.icc.services.letter
com.adobe.icc.services.locator
com.adobe.icc.services.module
com.adobe.icc.services.render
com.adobe.icc.services.submit
com.adobe.icc.services.user
com.adobe.icc.token
com.adobe.icc.vo
com.adobe.icc.vo.render
com.adobe.icomm.assetplacement.controller
com.adobe.icomm.assetplacement.controller.utils
com.adobe.icomm.assetplacement.data
com.adobe.icomm.assetplacement.model
com.adobe.livecycle.assetmanager.client
com.adobe.livecycle.assetmanager.client.event
com.adobe.livecycle.assetmanager.client.handler
com.adobe.livecycle.assetmanager.client.managers
com.adobe.livecycle.assetmanager.client.model
com.adobe.livecycle.assetmanager.client.model.cms
com.adobe.livecycle.assetmanager.client.service
com.adobe.livecycle.assetmanager.client.service.search
com.adobe.livecycle.assetmanager.client.service.search.cms
com.adobe.livecycle.assetmanager.client.utils
com.adobe.livecycle.content
com.adobe.livecycle.rca.model
com.adobe.livecycle.rca.model.constant
com.adobe.livecycle.rca.model.document
com.adobe.livecycle.rca.model.participant
com.adobe.livecycle.rca.model.reminder
com.adobe.livecycle.rca.model.stage
com.adobe.livecycle.rca.service
com.adobe.livecycle.rca.service.core
com.adobe.livecycle.rca.service.core.delegate
com.adobe.livecycle.rca.service.process
com.adobe.livecycle.rca.service.process.delegate
com.adobe.livecycle.rca.token
com.adobe.livecycle.ria.security.api
com.adobe.livecycle.ria.security.service
com.adobe.mosaic.layouts
com.adobe.mosaic.layouts.dragAndDrop
com.adobe.mosaic.layouts.interfaces
com.adobe.mosaic.mxml
com.adobe.mosaic.om.constants
com.adobe.mosaic.om.events
com.adobe.mosaic.om.impl
com.adobe.mosaic.om.interfaces
com.adobe.mosaic.skinning
com.adobe.mosaic.sparklib.editors
com.adobe.mosaic.sparklib.optionMenu
com.adobe.mosaic.sparklib.scrollableMenu
com.adobe.mosaic.sparklib.scrollableMenu.skins
com.adobe.mosaic.sparklib.tabLayout
com.adobe.mosaic.sparklib.tabLayout.events
com.adobe.mosaic.sparklib.tabLayout.layouts
com.adobe.mosaic.sparklib.tabLayout.skins
com.adobe.mosaic.sparklib.text
com.adobe.mosaic.sparklib.util
com.adobe.solutions.acm.authoring.presentation
com.adobe.solutions.acm.authoring.presentation.actionbar
com.adobe.solutions.acm.authoring.presentation.common
com.adobe.solutions.acm.authoring.presentation.events
com.adobe.solutions.acm.authoring.presentation.fragment
com.adobe.solutions.acm.authoring.presentation.letter
com.adobe.solutions.acm.authoring.presentation.letter.data
com.adobe.solutions.acm.authoring.presentation.preview
com.adobe.solutions.acm.authoring.presentation.rte
com.adobe.solutions.acm.ccr.presentation
com.adobe.solutions.acm.ccr.presentation.contentcapture
com.adobe.solutions.acm.ccr.presentation.contentcapture.events
com.adobe.solutions.acm.ccr.presentation.contentcapture.preview
com.adobe.solutions.acm.ccr.presentation.datacapture
com.adobe.solutions.acm.ccr.presentation.datacapture.renderers
com.adobe.solutions.acm.ccr.presentation.pdf
com.adobe.solutions.exm
com.adobe.solutions.exm.authoring
com.adobe.solutions.exm.authoring.components.controls
com.adobe.solutions.exm.authoring.components.toolbars
com.adobe.solutions.exm.authoring.domain
com.adobe.solutions.exm.authoring.domain.expression
com.adobe.solutions.exm.authoring.domain.impl
com.adobe.solutions.exm.authoring.domain.method
com.adobe.solutions.exm.authoring.domain.variable
com.adobe.solutions.exm.authoring.enum
com.adobe.solutions.exm.authoring.events
com.adobe.solutions.exm.authoring.model
com.adobe.solutions.exm.authoring.renderer
com.adobe.solutions.exm.authoring.view
com.adobe.solutions.exm.expression
com.adobe.solutions.exm.impl
com.adobe.solutions.exm.impl.method
com.adobe.solutions.exm.method
com.adobe.solutions.exm.mock
com.adobe.solutions.exm.mock.method
com.adobe.solutions.exm.runtime
com.adobe.solutions.exm.runtime.impl
com.adobe.solutions.exm.variable
com.adobe.solutions.prm.constant
com.adobe.solutions.prm.domain
com.adobe.solutions.prm.domain.factory
com.adobe.solutions.prm.domain.impl
com.adobe.solutions.prm.domain.manager
com.adobe.solutions.prm.presentation.asset
com.adobe.solutions.prm.presentation.constant
com.adobe.solutions.prm.presentation.document
com.adobe.solutions.prm.presentation.event
com.adobe.solutions.prm.presentation.file
com.adobe.solutions.prm.presentation.project
com.adobe.solutions.prm.presentation.team
com.adobe.solutions.prm.presentation.util
com.adobe.solutions.prm.service
com.adobe.solutions.prm.services.impl
com.adobe.solutions.prm.vo
com.adobe.solutions.rca.constant
com.adobe.solutions.rca.domain
com.adobe.solutions.rca.domain.common
com.adobe.solutions.rca.domain.factory
com.adobe.solutions.rca.domain.impl
com.adobe.solutions.rca.domain.impl.manager
com.adobe.solutions.rca.domain.manager
com.adobe.solutions.rca.presentation
com.adobe.solutions.rca.presentation.comment
com.adobe.solutions.rca.presentation.constant
com.adobe.solutions.rca.presentation.event
com.adobe.solutions.rca.presentation.gantt
com.adobe.solutions.rca.presentation.gantt.ruler
com.adobe.solutions.rca.presentation.template
com.adobe.solutions.rca.presentation.template.audit
com.adobe.solutions.rca.presentation.template.definition
com.adobe.solutions.rca.presentation.template.documents
com.adobe.solutions.rca.presentation.template.stages
com.adobe.solutions.rca.presentation.util
com.adobe.solutions.rca.service
com.adobe.solutions.rca.services.impl
com.adobe.solutions.rca.vo
com.adobe.solutions.rca.vo.um
com.adobe.viewsource
fl.accessibility
fl.containers
fl.controls
fl.controls.dataGridClasses
fl.controls.listClasses
fl.controls.progressBarClasses
fl.core
fl.data
fl.display
fl.events
fl.ik
fl.lang
fl.livepreview
fl.managers
fl.motion
fl.motion.easing
fl.rsl
fl.text
fl.transitions
fl.transitions.easing
fl.video
flash.accessibility
flash.concurrent
flash.crypto
flash.data
flash.desktop
flash.display
flash.display3D
flash.display3D.textures
flash.errors
flash.events
flash.external
flash.filesystem
flash.filters
flash.geom
flash.globalization
flash.html
flash.media
flash.net
flash.net.dns
flash.net.drm
flash.notifications
flash.permissions
flash.printing
flash.profiler
flash.sampler
flash.security
flash.sensors
flash.system
flash.text
flash.text.engine
flash.text.ime
flash.ui
flash.utils
flash.xml
flashx.textLayout
flashx.textLayout.compose
flashx.textLayout.container
flashx.textLayout.conversion
flashx.textLayout.edit
flashx.textLayout.elements
flashx.textLayout.events
flashx.textLayout.factory
flashx.textLayout.formats
flashx.textLayout.operations
flashx.textLayout.utils
flashx.undo
ga.controls
ga.layouts
ga.model
ga.uiComponents
ga.util
ga.views
ga.wrappers
lc.foundation
lc.foundation.domain
lc.foundation.events
lc.foundation.ui
lc.foundation.util
lc.preloader
lc.procmgmt
lc.procmgmt.commands
lc.procmgmt.domain
lc.procmgmt.events
lc.procmgmt.formbridge
lc.procmgmt.impl
lc.procmgmt.ui.attachments
lc.procmgmt.ui.controls
lc.procmgmt.ui.controls.card
lc.procmgmt.ui.controls.renderer
lc.procmgmt.ui.help
lc.procmgmt.ui.layout
lc.procmgmt.ui.presentationmodel
lc.procmgmt.ui.process
lc.procmgmt.ui.search
lc.procmgmt.ui.startpoint
lc.procmgmt.ui.task
lc.procmgmt.ui.task.form
lc.procmgmt.ui.task.form.commands
lc.procmgmt.ui.tracking
mx.accessibility
mx.automation
mx.automation.air
mx.automation.delegates
mx.automation.delegates.advancedDataGrid
mx.automation.delegates.charts
mx.automation.delegates.containers
mx.automation.delegates.controls
mx.automation.delegates.controls.dataGridClasses
mx.automation.delegates.controls.fileSystemClasses
mx.automation.delegates.core
mx.automation.delegates.flashflexkit
mx.automation.events
mx.binding
mx.binding.utils
mx.charts
mx.charts.chartClasses
mx.charts.effects
mx.charts.effects.effectClasses
mx.charts.events
mx.charts.renderers
mx.charts.series
mx.charts.series.items
mx.charts.series.renderData
mx.charts.styles
mx.collections
mx.collections.errors
mx.containers
mx.containers.accordionClasses
mx.containers.dividedBoxClasses
mx.containers.errors
mx.containers.utilityClasses
mx.controls
mx.controls.advancedDataGridClasses
mx.controls.dataGridClasses
mx.controls.listClasses
mx.controls.menuClasses
mx.controls.olapDataGridClasses
mx.controls.scrollClasses
mx.controls.sliderClasses
mx.controls.textClasses
mx.controls.treeClasses
mx.controls.videoClasses
mx.core
mx.core.windowClasses
mx.data
mx.data.crypto
mx.data.errors
mx.data.events
mx.data.messages
mx.data.mxml
mx.data.offline.errors
mx.data.utils
mx.effects
mx.effects.easing
mx.effects.effectClasses
mx.events
mx.filters
mx.flash
mx.formatters
mx.geom
mx.graphics
mx.graphics.codec
mx.graphics.shaderClasses
mx.logging
mx.logging.errors
mx.logging.targets
mx.managers
mx.messaging
mx.messaging.channels
mx.messaging.config
mx.messaging.errors
mx.messaging.events
mx.messaging.management
mx.messaging.messages
mx.modules
mx.netmon
mx.olap
mx.olap.aggregators
mx.preloaders
mx.printing
mx.resources
mx.rpc
mx.rpc.events
mx.rpc.http
mx.rpc.http.mxml
mx.rpc.livecycle
mx.rpc.mxml
mx.rpc.remoting
mx.rpc.remoting.mxml
mx.rpc.soap
mx.rpc.soap.mxml
mx.rpc.wsdl
mx.rpc.xml
mx.skins
mx.skins.halo
mx.skins.spark
mx.skins.wireframe
mx.skins.wireframe.windowChrome
mx.states
mx.styles
mx.utils
mx.validators
org.osmf.containers
org.osmf.display
org.osmf.elements
org.osmf.events
org.osmf.layout
org.osmf.logging
org.osmf.media
org.osmf.metadata
org.osmf.net
org.osmf.net.dvr
org.osmf.net.httpstreaming
org.osmf.net.metrics
org.osmf.net.qos
org.osmf.net.rtmpstreaming
org.osmf.net.rules
org.osmf.traits
org.osmf.utils
spark.accessibility
spark.automation.delegates
spark.automation.delegates.components
spark.automation.delegates.components.gridClasses
spark.automation.delegates.components.mediaClasses
spark.automation.delegates.components.supportClasses
spark.automation.delegates.skins.spark
spark.automation.events
spark.collections
spark.components
spark.components.calendarClasses
spark.components.gridClasses
spark.components.mediaClasses
spark.components.supportClasses
spark.components.windowClasses
spark.core
spark.effects
spark.effects.animation
spark.effects.easing
spark.effects.interpolation
spark.effects.supportClasses
spark.events
spark.filters
spark.formatters
spark.formatters.supportClasses
spark.globalization
spark.globalization.supportClasses
spark.layouts
spark.layouts.supportClasses
spark.managers
spark.modules
spark.preloaders
spark.primitives
spark.primitives.supportClasses
spark.skins
spark.skins.mobile
spark.skins.mobile.supportClasses
spark.skins.spark
spark.skins.spark.mediaClasses.fullScreen
spark.skins.spark.mediaClasses.normal
spark.skins.spark.windowChrome
spark.skins.wireframe
spark.skins.wireframe.mediaClasses
spark.skins.wireframe.mediaClasses.fullScreen
spark.transitions
spark.utils
spark.validators
spark.validators.supportClasses
xd.core.axm.enterprise.view.components
xd.core.axm.enterprise.view.skins
xd.core.axm.view.components
xd.core.axm.view.components.support

語言元素

全域常數
全域函數
運算子
陳述式、關鍵字和指令
特殊類型

附錄

新增內容
編譯器錯誤
編譯器警告
執行階段錯誤
移轉至 ActionScript 3
支援的字元集
僅限 MXML 標籤
移動 XML 元素
Timed Text 標籤
不建議元素清單
AccessibilityImplementation 常數
如何使用 ActionScript 範例
法律聲明
套件flash.desktop
類別public class NativeDragManager
繼承NativeDragManager Inheritance Object

執行階段版本: AIR 1.0

NativeDragManager 類別會協調拖放作業。使用原生拖放 API,您便可以允許使用者在 AIR 應用程式與原生作業系統之間、兩個應用程式之間或是單一應用程式內的組件之間拖曳資料。

可以傳輸的資料類型如下:

  • 點陣圖
  • 檔案
  • 文字
  • URL 字串
  • 經過序列化的物件
  • 物件參考 (只有在來源應用程式內才有效)

注意:所有 NativeDragManager 成員都必須是靜態成員。您不需要建立此類別的實體。

拖放作業是一種使用者介面手勢,它開始於使用者按一下可見的項目,並將它拖曳到其他地方。在拖曳手勢期間,顯示清單上的互動式物件會將原生拖曳事件當做移動手勢在 AIR 應用程式視窗之間傳送。這些事件的處理常式可以呼叫 NativeDragManager 類別的方法,指出是否可以將拖曳的項目放到物件上。接著,NativeDragManager 便會變更滑鼠指標來回應使用者。

AIR 描述檔支援:AIR for TV 裝置不支援此功能。此外,所有的行動裝置也都不支援。您可以使用 NativeDragManager.isSupported 屬性測試執行階段的支援狀況。如需有關跨多個描述檔之 API 支援的詳細資訊,請參閱 AIR 描述檔支援

拖曳動作

拖放手勢通常用於三種類型的作業,稱為「動作」。由於這些動作的意義取決於應用程式內容,因此執行階段不會對這些動作強制執行任何行為指令。不過,適當地實作動作可以改善使用者的應用程式體驗。

可能的動作包括:

  • 複製 — 產生資料的副本,讓原始資料維持不變 (在應用程式內拖曳物件時,請務必小心複製原始物件本身,而不是該物件的參考)。
  • 移動 — 資料會從它的原始內容移到放置目標所定義的內容,例如將某個項目從一個清單移到另一個清單時。
  • 連結 — 建立原始資料的參考或捷徑,將此項目留在它的原始內容中。

只要在開始拖曳作業的 NativeDragManager.doDrag() 呼叫中提供 allowedActions 參數,便可以針對拖曳手勢設定這些允許的動作。如果沒有提供 allowedActions 參數,表示允許所有的動作。可能的拖曳目標可以使用 NativeDragEvent 物件的 allowedActions 屬性來檢查所允許的動作,而且不應該接受只允許不相容動作的置放 (但是執行階段並不會強制這項處理)。

如果置放目標只會實作單一動作,此物件可以在 nativeDragEnternativeDragOver 事件的處理常式內設定 NativeDragManager 的 dropAction 屬性。在置放之前設定此屬性,不僅可允許拖曳管理員更新滑鼠指標以指出支援的動作,也可避免使用者使用輔助按鍵選擇不相容的動作。如果指定的動作不是屬於允許的動作,則不允許置放,即使目標會呼叫 acceptDrop() 方法亦然。

接受置放時,可能的置放目標應該指定透過設定 NativeDragManager.dropAction 屬性所選擇的動作,以回應 nativeDragDrop 事件。這個動作會回報給 nativeDragComplete 事件內的起始顯示物件。如果放下目標沒有設定任何動作,則會依照所允許動作的出現順序 (複製、移動、連結) 選取預設動作在事件中回報。初始物件會負責更新其內部狀態,以回應所選擇的動作。

這些動作名稱的字串常數是在 NativeDragActions 類別中定義。

事件序列

拖曳手勢一開始是在 mouseDownmouseMove 事件處理常式內呼叫 NativeDragManager.doDrag() 方法,接著會進行下列事件序列以回應使用者的動作:

  • nativeDragStart 事件 — 當呼叫 NativeDragManager.doDrag() 時,當做參數傳給此方法的互動式物件就會變成初始程式物件,並傳送 nativeDragStart 事件。
  • nativeDragUpdate 事件 — 當拖曳作業進行時,初始程式物件會繼續傳送 nativeDragUpdate 事件。
  • nativeDragEnternativeDragOver 事件 — 當拖曳手勢在互動式物件上方傳遞時,該物件會傳送 nativeDragEnter 事件。當拖曳手勢仍然在互動式物件上方時,它會繼續傳送 nativeDragOver 事件。為了回應這些事件的其中一個,當做可能置放目標的物件應該檢查事件物件的屬性,以決定它是否可以接受置放。如果資料格式和允許的動作都正確,則這些事件的事件處理常式必須呼叫 NativeDragManager.acceptDrop(),傳入當做置放目標之顯示物件的參考 (通常是傳送 nativeDragEnternativeDragOver 事件的物件)。然後,使用者可以將拖曳的項目放到目標上。
  • nativeDragExit 事件 — 當拖曳手勢從互動式物件傳遞時,此物件會傳送 nativeDragExit 事件。如果已先呼叫 NativeDragManager.acceptDrop() 方法將該物件指定為拖曳目標,則該呼叫將不再有效,而且如果此手勢重新進入互動式物件,就必須再次呼叫 acceptDrop()
  • nativeDragDrop 事件 -- 當使用者在該物件上方放開滑鼠按鈕時,目標顯示物件會傳送 nativeDragDrop 事件。此事件的處理常式可以存取該事件物件之 transferable 屬性中的資料,而且應該設定 NativeDragManager.dropAction 屬性,告知初始程式物件應該採取哪個動作。
  • nativeDragComplete -- 當使用者在結束拖曳手勢後放開滑鼠,初始程式物件都會傳送 nativeDragComplete 事件 (不管是否已接受該放置動作本身)。此事件的處理常式可以檢查該事件物件的 dropAction 屬性,以判斷其內部資料狀態應該進行何種修改 (如果要的話),例如從清單中移除已拖曳出的項目。如果 dropActionNativeDragActions.NONE,則不會將拖曳的項目放在可用的目標上。

應用程式之間的手勢

當拖曳手勢從非 AIR 應用程式視窗進入 AIR 應用程式視窗時,將沒有初始程式物件傳送 nativeDragStartnativeDragComplete 事件。手勢期間傳送的這些事件,在其他方面都將遵循的模式,與在相同 AIR 應用程式中開始和結束之手勢的事件相同。

當拖曳手勢離開 AIR 應用程式視窗時,就沒有目標物件可傳送 nativeDragEnternativeDragOvernativeDragDrop 事件。初始程式物件仍然會傳送 nativeDragComplete 事件,此事件會報告原生作業系統設定的拖曳動作 (如果該放下動作不被接受,則為 none)。

當拖曳手勢從某個 AIR 應用程式移至其他應用程式時,一如往常,初始程式和目標物件都會在其個別的應用程式中傳送事件。

傳輸資訊

在拖放手勢期間,所傳輸的資料都包含在 Clipboard 物件中。資料物件會透過開始拖曳手勢的 NativeDragManager.doDrag() 方法加入拖曳作業。可能的放下目標可以透過原生拖曳事件物件的 clipboard 屬性存取 Clipboard 物件。一旦拖曳作業開始,就只能在 NativeDragEvent 的事件處理常式中存取 Clipboard 物件。任何其他嘗試存取此物件的動作都會產生執行階段錯誤。

安全性考量

初始程式和可能之目標物件的安全執行程序可判斷如何存取正在拖曳的資料。如果這兩個物件都在相同的安全執行程序中,便可以從任何 NativeDragEvent 物件存取此資料。不過,如果初始程式和目標物件不在相同的安全執行程序中,則只能在 nativeDragDrop 事件之事件處理常式的目標安全執行程序中存取此資料。其他原生拖曳事件處理常式仍可以存取事件 clipboard 屬性中所參考的 Clipboard 物件,以判斷可使用何種資料格式;但是,呼叫 clipboard.getData() 方法會產生安全性錯誤。

相關 API 元素



公用屬性
 屬性定義自
 Inheritedconstructor : Object
類別物件的參照或是特定物件實體的建構函數。
Object
      dragInitiator : InteractiveObject
[靜態] [唯讀] 傳遞至用來起始拖曳作業之 NativeDragManager.doDrag() 呼叫的互動式物件。
NativeDragManager
      dropAction : String
[靜態] 放下目標所指定的拖曳動作。
NativeDragManager
      isDragging : Boolean
[靜態] [唯讀] 報告拖曳作業目前是否正在進行。
NativeDragManager
      isSupported : Boolean
[靜態] [唯讀] 如果目前的平台支援 NativeDragManager 類別,則 isSupported 屬性會設為 true,否則會設為 false。
NativeDragManager
公用方法
 方法定義自
  
[靜態] 通知 NativeDragManager 有關指定的目標互動式物件可以接受對應至目前拖曳事件的放下動作。
NativeDragManager
  
    doDrag(dragInitiator:InteractiveObject, clipboard:Clipboard, dragImage:BitmapData = null, offset:Point = null, allowedActions:NativeDragOptions = null):void
[靜態] 開始拖放作業。
NativeDragManager
 Inherited
指出物件是否有已定義的指定屬性。
Object
 Inherited
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。
Object
 Inherited
指出指定的屬性是否存在,以及是否可列舉。
Object
 Inherited
為迴圈作業設定動態屬性的可用性。
Object
 Inherited
傳回代表此物件的字串,根據地區特定慣例進行格式化。
Object
 Inherited
會傳回指定之物件的字串形式。
Object
 Inherited
會傳回指定之物件的基本值。
Object
屬性詳細資訊
    

dragInitiator

屬性
dragInitiator:InteractiveObject  [唯讀]

執行階段版本: AIR 1.0

傳遞至用來起始拖曳作業之 NativeDragManager.doDrag() 呼叫的互動式物件。



實作
    public static function get dragInitiator():InteractiveObject
    

dropAction

屬性 
dropAction:String

執行階段版本: AIR 1.0

放下目標所指定的拖曳動作。

dropAction 屬性應該在處理常式中針對 nativeDragDrop 事件設定。如果沒有在 nativeDragComplete 之前設定 dropAction,則 NativeDragManager 會設定此值,而第一個允許的動作則來自此清單:複製、移動或連結 (依照順序)。



實作
    public static function get dropAction():String
    public static function set dropAction(value:String):void

相關 API 元素

    

isDragging

屬性 
isDragging:Boolean  [唯讀]

執行階段版本: AIR 1.0

報告拖曳作業目前是否正在進行。



實作
    public static function get isDragging():Boolean
    

isSupported

屬性 
isSupported:Boolean  [唯讀]

語言版本: ActionScript 3.0
執行階段版本: AIR 2

如果目前的平台支援 NativeDragManager 類別,則 isSupported 屬性會設為 true,否則會設為 false



實作
    public static function get isSupported():Boolean
方法詳細資訊

    acceptDragDrop

()方法
public static function acceptDragDrop(target:InteractiveObject):void

執行階段版本: AIR 1.0

通知 NativeDragManager 有關指定的目標互動式物件可以接受對應至目前拖曳事件的放下動作。

只有當指定的目標物件有 nativeDragDrop 處理常式 (可以在拖曳的項目中處理至少一種資料格式,以及至少一種允許的動作) 時,才應該呼叫此方法。

只有在 nativeDragEnternativeDragOver 事件處理常式中,才能呼叫此函數。

參數

target:InteractiveObject

    doDrag

()方法 
public static function doDrag(dragInitiator:InteractiveObject, clipboard:Clipboard, dragImage:BitmapData = null, offset:Point = null, allowedActions:NativeDragOptions = null):void

執行階段版本: AIR 1.0

開始拖放作業。

若要開始拖曳作業:

  1. 建立新的 Clipboard 物件。
  2. 加入要以一種或多種格式傳輸的資料。
  3. 建立 BitmapData 物件,在拖曳期間當做 Proxy 影像使用 (選擇性)。
  4. 建立 NativeDragOptions 物件,限制此作業中允許的動作 (如果 allowedActions 參數保留為 null,則允許所有動作)。
  5. 呼叫 NativeDragManager.doDrag()

呼叫此方法之後,初始程式物件將接收 nativeDragStart 事件;拖曳進行期間則會接收 nativeDragStart 事件;當使用者放開滑鼠以結束拖曳手勢時,則會接收 nativeDragComplete 事件。nativeDragComplete 事件的處理常式可以檢查該事件的 dropAction 屬性,以判斷拖放作業是否成功完成。如果 dropActionNativeDragActions.NONE,則不會將拖曳的項目放在可用的目標上。

此方法只能從 mouseDownmouseMove 事件處理常式中呼叫 (如果因為回應 mouseMove 事件而呼叫此方法,則滑鼠按鈕也必須是按下狀態)。

參數

dragInitiator:InteractiveObject — 通常是拖曳手勢開始的物件。接收 nativeDragStartnativeDragComplete 事件。
 
clipboard:Clipboard — 拖曳之資料的容器物件。
 
dragImage:BitmapData (default = null) — 在拖曳手勢期間,滑鼠指標下方顯示的選擇性 Proxy 影像。如果為 null,則不顯示任何影像。
 
offset:Point (default = null) — 介於滑鼠感應區和拖曳影像左上角之間的位移。負值座標會將相對於感應區的影像位置向左上方移動。如果為 null,則會將拖曳影像左上角置於滑鼠感應區。
 
allowedActions:NativeDragOptions (default = null) — 限制此作業所允許的拖放動作。如果為 null,則允許所有動作。

相關 API 元素





[ X ]為什麼顯示英文?
「ActionScript 3.0 參考」的內容是以英文顯示

並非所有「ActionScript 3.0 參考」的內容都翻譯為所有語言。當語言元素未翻譯時,就會以英文顯示。例如,ga.controls.HelpBox 類別並沒有翻譯為任何語言。因此在參考的繁體中文版本中,ga.controls.HelpBox 類別就會以英文顯示。