關於Oracle sequence的cache的一點內容
www.diy567.com累了,去上面休息一下下,QQ空間,美文,非主流,網路日記,搞笑簡訊,祝福簡訊,熱門簡訊,有意思啊
這幾天做了一些drag&drop操作方面的工作,在這裡把一些注意事項記錄下來,算是給自己備個忘,也給需要做類似工作的人留個樹陰。這裡要討論的drag&drop是指使用IE提供的內建機制,而不是使用滑鼠模擬的那種"假"drag&drop,比如移動一個div或span的效果那種。
要實現和控制drag&drop操作,那麼首先第一點要弄清楚的是,到底哪些元素是可以在Web上被drag的?實際上IE預設給我們並讓我們drag的元素並不多,它們是:圖片
接下來,那麼哪些元素又是可以接受drop操作呢?任何頁面上的可見元素都是可以接受drop操作的,而它們之間的不同只是在於預設的drop事件不一樣。比如,文字控制元件(input, textarea)的預設drop事件就是獲取drag操作傳過來的文字內容;iframe元素的預設drop操作是到航道drag操作傳過來的URL地址。當然絕大多數的Web元素的預設是操作是do nothing,什麼也不做。
那麼當進行drag&drop操作時,有那些是可控制和定製的內容呢?這裡關於drag&drop提供了以下一些事件(我們把它們分為作用於來源物件
·ondrag —— 在整個從drag動作開始,直道drop動作結束的過程中,都會觸發的一個事件。
·ondragstart —— 在drag動作開始時,在來源物件上觸發的一個事件。
·ondragend —— 在drop動作結束的時候,在來源物件上出發的一個事件。
而主要做要在目的物件上的事件:
·ondragenter —— 在drag動作進入某一有效目的元素時,在該目的元素上觸發的一個事件。
·ondragover —— 在drag動作進入某一有效目的元素後,在該目的元素上觸發的一個事件。
·ondragleave —— 在drag動作離開某一有效目的元素時,在該目的元素上觸發的一個事件。
·ondrop —— 在任何有效目的元素上進行drop操作時,在該目的元素上觸發的一個事件。
這裡的來源和目的的劃分不是絕對的,比如ondragover事件,在drag操作過程中,如果滑鼠進入了來源物件
src:ondragstart --> src:ondrag --> des:ondragenter --> des:ondragover --> (des:ondragleave | des:ondrop )--> src:ondragend.
示例為:Drag Source Drop Destination
// 如果alert視窗不響應滑鼠點選可以使用鍵盤的space鍵來確定視窗
<SPANondrop="alert('des:on'+event.type)"ondragleave="alert('des:on'+event.type)">DropDestination</SPAN>
瞭解了事件觸發順序後,定製drag&drop過程中滑鼠的游標形狀也是非常重要的一個內容。因為使用者的drag&drop的整個過程都需要靠滑鼠游標的形狀指導其進行操作,如果不能實時的調整游標為適合的型狀,drag&drop操作對使用者來說將無異於朦眼尋物。IE提供了用來控制的drag&drop過程中游標形狀的兩個屬性,它們是:effectAllowed和dropEffect。
其屬性分別為:
·effectAllowed:copy, link, move, copyLink, copyMove, all,none & uninitialized.
·dropEffect: copy, link, move, none.
前者effectAllowed是用來控制允許drag&drop操作型別的,所以這裡的effect不是顯示的"效果",而是是否可以執行的"操作",並且該屬性只能在ondragstart事件中進行初始化,之後再對其賦值將無效。當然如果只使用effectAllowed屬性,就已經可以達到控制游標形狀的作用了。只是effectAllowed屬性在處理複合操作時,比如copyLink, copyMove和all,會預設顯示靠前那個操作型別的滑鼠型別。也就是說如果effectAllowed是copyMove,那麼這是滑鼠游標就是copy形狀。這下就知道為什麼還要弄個dropEffect屬性了吧?不過這個dropEffect屬性中指定的effect,只能是之前effectAllowed允許的操作類型範圍中的值,否則沒有效果(顯示no-drop滑鼠游標)。
示例為: Drag SourceDrop Destination
<SPANondragover="event.dataTransfer.dropEffect='copy';event.returnValue=false;event.cancelBubble=true;">DropDestination</SPAN>
檢視程式碼時注意,你會發現在src和des的物件元素中,在ondragover事件裡除了對dropEffect賦以適當的值外,還有兩句話:
event.cancelBubble=true;
只是由於頁面元素在接受dragover的時候,本身都有其預設的滑鼠游標顯示型狀,所以為了讓使用者自定義的滑鼠游標生效,就需要使事件event的returenValue為false值並停止當事件的冒泡(event.cancelBubble=true)。
到目前為止,一個完整的drag&drop過程就差資料傳遞了,其實忙活了半天,這才是藏在所有互動操作和顯示效果下面最重要的步驟。這個過程需要藉助於IE提供的DHTML Data Transfer物件來完成,在window物件的屬性event物件中,分別有兩個Data Transfer物件各自的一個例項:一個叫dataTransfer,另一個叫clipboardData。這兩個物件例項的行為非常相似,但又有一些區別,clipboardData顧名思義,它使用作業系統的剪貼簿來存取資料,並有3個方法;而dataTransfer通過操作一個自己的內部剪貼簿來存取資料(每次ondragend事件觸發後就自動清空了),除了有和clipboardData相同的3個方法外,還有兩個屬性(就是前面介紹的那兩個effectAllowed和dropEffect)。
我們這裡不對clipboardData作更多的討論,繼續來看dataTransfer物件。它包含3個方法,它們是:setData(sDataFormat, sText), getData(sDataFormat)和clearData([sDataFormat])。它們更詳細的使用和引數請參閱MSDN,這裡我只用它們來實現drag&drop的資料傳遞。
示例為:Drag SourceDrag Source
<SPANondrop="this.innerText=event.dataTransfer.getData('TEXT');this.style.color='red';"ondragover="event.dataTransfer.dropEffect='copy';event.returnValue=false;event.cancelBubble=true;">DropDestination</SPAN>
其實很簡單,就是在src的ondragstart中,呼叫event.dataTransfer.setData('TEXT', this.innerText),然後再des的ondrop事件中,呼叫this.innerText = event.dataTransfer.getData('TEXT')就行了。
================================================================================
Window.event
DHTML Data Transfer物件: Window.event.dataTransfer
操作一個自己的內部剪貼簿來存取資料 (每次ondragend事件觸發後就自動清空了)
屬性
effectAllowed
值:copy, link, move, copyLink, copyMove, all, none & uninitialized
用來控制允許drag&drop操作型別的, 所以這裡的effect不是顯示的"效果",而是是否可以執行的"操作", 並且該屬性只能在ondragstart事件中進行初始化,之後再對其賦值將無效
dropEffect
值:copy, link, move, none
dropEffect屬性中指定的effect, 只能是之前effectAllowed允許的操作類型範圍中的值, 否則沒有效果(顯示no-drop滑鼠游標)
方法
setData(sDataFormat, sText)
getData(sDataFormat)
clearData([sDataFormat])
DHTML Data Transfer物件: Window.event.clipboardData
使用作業系統的剪貼簿來存取資料
屬性
effectAllowed
dropEffect
方法
setData(sDataFormat, sText)
getData(sDataFormat)
clearData([sDataFormat])
相關推薦
關於Oracle sequence的cache的一點內容
www.diy567.com累了,去上面休息一下下,QQ空間,美文,非主流,網路日記,搞笑簡訊,祝福簡訊,熱門簡訊,有意思啊 這幾天做了一些drag&drop操作方面的工作,在這裡把一些注意事項記錄下來,算是給自己備個忘,也給需要做類似工作的人留個樹陰。這
關於oracle的一點備忘
oracle 存儲過程數據庫無法回避的就是處理數據情景:發票信息,很多公司員工在進行交易的時候,填寫的發票信息都是一樣的,所以公司員工往往想調用統一的發票信息,公司會計登錄系統可以填寫通用發票信息,為了生成訂單簡單,發票需要和員工號碼綁定,所以發票的表裏想要復制一份員工號為會計的發票信息,改動其中的員工號,發
oracle基本查詢內容整理
image 整理 dual 年收入 記錄 字典 mage user bubuko 清屏 host cls; 查看當前用戶 show user ; 當前用戶下的表 select * from tab; tab數據字典 desc emp; 查詢所有員工的信息 selec
提取oracle資料庫HTML內容轉換成正文格式
提取oracle資料庫HTML內容轉換成正文格式(去標籤)在更新到同表的TZNR # -*- coding:utf-8 -*- import cx_Oracle from bs4 import BeautifulSoup conn = cx_Oracle.connect('使用者名稱', '
GitHub相關的一點內容
今天寫程式碼時遇到個問題,也是以前經常遇到的問題:當我們為了實現功能寫了一個程式碼A,過了幾天發現有一個程式碼B可能更合適,但是又不能確定引入到自己的專案裡會不會導致出問題。 假如我最終發現程式碼B不合適,但是此時我已經做了很多很多的改動,為了重新使用程式碼A,又需要將自己
Oracle-01-學習內容&安裝遇到的問題記錄
本次內容 1.學會安裝 2.學會解除安裝 3.理解關係型資料庫 4.瞭解Oracle的版本,Oracle 9i,Oracle 10g,Oracle 11g 5.為什麼要學習SQL語句 6.SQL語句
Oracle入門之對表內容的dml操作
數據 表的管理 back -- tex 宋體 位置 表達式 wsh oracle表的管理--添加數據 使用insert語句向表中插入數據 插入數據基本語法: insert into table[(column [,column...])] values(value [,va
Oracle中如何查詢CLOB字段類型的內容
查詢 lob dbm -s 案例 類型 數據 ear 使用 語法:select * from table_name where dbms_lob.instr(字段名(clod類型),‘查詢條件‘,1,1) > 0; 語法解釋:在Oracle中,可以使用inst
伸手一點法杖的內容出現在了隊伍頻道裏
f2c ef6 bd09 eee ffd bad deb e30 d3d http://baobao.baidu.com/article/04c03fbf6d13041dcd5fa60c56821a4e.html http://baobao.baidu.com/artic
ORACLE高級部分內容
重復 區別 強行 struts2 設置 loop sel nag ret 1.pl/sql基本語句 DECLARE BEGIN END; / 循環語句 DECLARE I NUMBER(2):=1; BEGIN WH
制作批處理工具,將oracle數據庫中的內容導出到csv中
users rom sql arp oracle數據庫 feed clas sharp 生成 新建一個txt文件 內容如下 @echo off sqlplus ABC/ABC@ABC @C:\Users\Administrator\De
Oracle案例02——ORA-12034: "SCOTT"."USER_TABLE" 上的實體化視圖日誌比上次刷新後的內容新
ade rom ddl success win dia char owin oss 最近同事在交接工作時,發現有幾個schedule job沒有執行成功,我這邊給看了下,其中一個是由於數據庫遷移,調用dblink的host主機IP在tnsnames中沒有變更導致,還有一個是
Oracle數據庫基本操作(三) —— DQL相關內容說明及應用
保留 group gpo 個數字 轉義字符 ike 關鍵字 其他 單行函數 本文所使用的查詢表來源於oracle數據中scott用戶中的emp員工表和dept部門表。 一、基本語法 SQL語句的編寫順序: p.p1 { margin: 0.0px 0.0px 0.0
oracle 如何將一個字段內容拆分多行顯示
eve 內容 fun regex sel 字符 小寫 位置 odi 例子: select regexp_substr(‘1,2,3,4,5‘, ‘[^,]+‘, 1, level)from dualconnect by level <= regexp_count(‘1
Oracle子查詢相關內容(包含TOP-N查詢和分頁查詢)
職位 oracle子查詢 員工 having 信息 不同 group 最大 mount 本節介紹Oracle子查詢的相關內容: 實例用到的數據為oracle中scott用戶下的emp員工表,dept部門表,數據如下: 一、子查詢 1、概念:嵌入在一個查詢中的另一個
oracle數據庫內容整理
tab 連接 oracle數據 rom dba 查看 用戶 修改 如果 一,用戶的創建,刪除,修改: 創建用戶 語法:create user 用戶名 identified by 密碼, 註意:在Oracle中只有管理員或具有管理員權限的人才能創建和修改。新創建的用戶是沒有任
每天懂一點系列之ORACLE(20181106)
目錄 一、Oracle客戶端工具: 二、Oracle資料庫物件型別 三、可用的資料型別 四、刪除和截斷表 五、建立和使用臨時表 一、Oracle客戶端工具: SQL*Plus SQL Developer PLSQL Dev
Oracle儲存過程基礎內容
1 基本語法 1.1 無參無變數 create or replace procedure firstPro as begin dbms_output.put_line('hello word, my name is stored procedure'); end;
oracle查詢表修改記錄以及被修改內容
查詢該表近段時間修改的記錄: SELECT 被修改表字段,VERSIONS_STARTTIME,VERSIONS_ENDTIME,VERSIONS_OPERATION FROM 表 VERSIONS BETWEEN TIMESTAMP MINVALUE AND MAXVALUE
Oracle 儲存過程中傳送郵件,並支援使用者驗證 中文標題和內容
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!