亚洲欧美综合精品成人网,久久久g0g0午夜无码精品,亚洲精品v欧洲精品v日韩精品 http://www.mxio.cn 傳播先進(jìn)設(shè)計理念 推動原創(chuàng)設(shè)計發(fā)展 Thu, 05 Oct 2006 23:54:00 +0000 zh-Hans hourly 1 https://wordpress.org/?v=6.9.1 Javascript事件觸發(fā)列表與解說 http://www.mxio.cn/10068.html http://www.mxio.cn/10068.html#respond Thu, 05 Oct 2006 23:54:00 +0000
一般事件
事件瀏覽器支持描述
onClickHTML: 2|3|3.2|4
Browser: IE3|N2|O3
鼠標(biāo)點擊事件,多用在某個對象控制的范圍內(nèi)的鼠標(biāo)點擊
onDblClickHTML: 2|3|3.2|4
Browser:IE4|N4|O
鼠標(biāo)雙擊事件
onMouseDownHTML: 2|3|3.2|4
Browser:IE4|N4|O
鼠標(biāo)上的按鈕被按下了
onMouseUpHTML: 2|3|3.2|4
Browser:IE4|N4|O
鼠標(biāo)按下后,松開時激發(fā)的事件
onMouseOverHTML: 2|3|3.2|4
Browser:IE3|N2|O3
當(dāng)鼠標(biāo)移動到某對象范圍的上方時觸發(fā)的事件
onMouseMoveHTML: 2|3|3.2|4
Browser:IE4|N4|O
鼠標(biāo)移動時觸發(fā)的事件
onMouseOutHTML: 2|3|3.2|4
Browser:IE4|N3|O3
當(dāng)鼠標(biāo)離開某對象范圍時觸發(fā)的事件
onKeyPressHTML: 2|3|3.2|4
Browser:IE4|N4|O
當(dāng)鍵盤上的某個鍵被按下并且釋放時觸發(fā)的事件.[注意:頁面內(nèi)必須有被聚焦的對象]
onKeyDownHTML: 2|3|3.2|4
Browser:IE4|N4|O
當(dāng)鍵盤上某個按鍵被按下時觸發(fā)的事件[注意:頁面內(nèi)必須有被聚焦的對象]
onKeyUpHTML: 2|3|3.2|4
Browser:IE4|N4|O
當(dāng)鍵盤上某個按鍵被按放開時觸發(fā)的事件[注意:頁面內(nèi)必須有被聚焦的對象]
頁面相關(guān)事件
事件瀏覽器支持描述
onAbortHTML: 2|3|3.2|4
Browser:IE4|N3|O
圖片在下載時被用戶中斷
onBeforeUnloadHTML: 2|3|3.2|4
Browser:IE4|N|O
當(dāng)前頁面的內(nèi)容將要被改變時觸發(fā)的事件
onErrorHTML: 2|3|3.2|4
Browser:IE4|N3|O
捕抓當(dāng)前頁面因為某種原因而出現(xiàn)的錯誤,如腳本錯誤與外部數(shù)據(jù)引用的錯誤
onLoadHTML: 2|3|3.2|4
Browser:IE3|N2|O3
頁面內(nèi)空完成傳送到瀏覽器時觸發(fā)的事件,包括外部文件引入完成
onMoveHTML: 2|3|3.2|4
Browser:IE|N4|O
瀏覽器的窗口被移動時觸發(fā)的事件
onResizeHTML: 2|3|3.2|4
Browser:IE4|N4|O
當(dāng)瀏覽器的窗口大小被改變時觸發(fā)的事件
onScrollHTML: 2|3|3.2|4
Browser:IE4|N|O
瀏覽器的滾動條位置發(fā)生變化時觸發(fā)的事件
onStopHTML: 2|3|3.2|4
Browser:IE5|N|O
瀏覽器的停止按鈕被按下時觸發(fā)的事件或者正在下載的文件被中斷
onUnloadHTML: 2|3|3.2|4
Browser:IE3|N2|O3
當(dāng)前頁面將被改變時觸發(fā)的事件
表單相關(guān)事件
事件瀏覽器支持描述
onBlurHTML: 2|3|3.2|4
Browser:IE3|N2|O3
當(dāng)前元素失去焦點時觸發(fā)的事件 [鼠標(biāo)與鍵盤的觸發(fā)均可]
onChangeHTML: 2|3|3.2|4
Browser:IE3|N2|O3
當(dāng)前元素失去焦點并且元素的內(nèi)容發(fā)生改變而觸發(fā)的事件 [鼠標(biāo)與鍵盤的觸發(fā)均可]
onFocusHTML: 2|3|3.2|4
Browser:IE3|N2|O3
當(dāng)某個元素獲得焦點時觸發(fā)的事件
onResetHTML: 2|3|3.2|4
Browser:IE4|N3|O3
當(dāng)表單中RESET的屬性被激發(fā)時觸發(fā)的事件
onSubmitHTML: 2|3|3.2|4
Browser:IE3|N2|O3
一個表單被遞交時觸發(fā)的事件
滾動字幕事件
事件瀏覽器支持描述
onBounceHTML: 2|3|3.2|4
Browser:IE4|N|O
在Marquee內(nèi)的內(nèi)容移動至Marquee顯示范圍之外時觸發(fā)的事件
onFinishHTML: 2|3|3.2|4
Browser:IE4|N|O
當(dāng)Marquee元素完成需要顯示的內(nèi)容后觸發(fā)的事件
onStartHTML: 2|3|3.2|4
Browser:IE4|N|O
當(dāng)Marquee元素開始顯示內(nèi)容時觸發(fā)的事件
編輯事件
事件瀏覽器支持描述
onBeforeCopyHTML: 2|3|3.2|4
Browser:IE5|N|O
當(dāng)頁面當(dāng)前的被選擇內(nèi)容將要復(fù)制到瀏覽者系統(tǒng)的剪貼板前觸發(fā)的事件
onBeforeCutHTML: 2|3|3.2|4
Browser:IE5|N|O
當(dāng)頁面中的一部分或者全部的內(nèi)容將被移離當(dāng)前頁面[剪貼]并移動到瀏覽者的系統(tǒng)剪貼板時觸發(fā)的事件
onBeforeEditFocusHTML: 2|3|3.2|4
Browser:IE5|N|O
當(dāng)前元素將要進(jìn)入編輯狀態(tài)
onBeforePasteHTML: 2|3|3.2|4
Browser:IE5|N|O
內(nèi)容將要從瀏覽者的系統(tǒng)剪貼板傳送[粘貼]到頁面中時觸發(fā)的事件
onBeforeUpdateHTML: 2|3|3.2|4
Browser:IE5|N|O
當(dāng)瀏覽者粘貼系統(tǒng)剪貼板中的內(nèi)容時通知目標(biāo)對象
onContextMenuHTML: 2|3|3.2|4
Browser:IE5|N|O
當(dāng)瀏覽者按下鼠標(biāo)右鍵出現(xiàn)菜單時或者通過鍵盤的按鍵觸發(fā)頁面菜單時觸發(fā)的事件 [試試在頁面中的<body>中加入onContentMenu=”return false”就可禁止使用鼠標(biāo)右鍵了]
onCopyHTML: 2|3|3.2|4
Browser:IE5|N|O
當(dāng)頁面當(dāng)前的被選擇內(nèi)容被復(fù)制后觸發(fā)的事件
onCutHTML: 2|3|3.2|4
Browser:IE5|N|O
當(dāng)頁面當(dāng)前的被選擇內(nèi)容被剪切時觸發(fā)的事件
onDragHTML: 2|3|3.2|4
Browser:IE5|N|O
當(dāng)某個對象被拖動時觸發(fā)的事件 [活動事件]
onDragDropHTML: 2|3|3.2|4
Browser:IE|N4|O
一個外部對象被鼠標(biāo)拖進(jìn)當(dāng)前窗口或者幀
onDragEndHTML: 2|3|3.2|4
Browser:IE5|N|O
當(dāng)鼠標(biāo)拖動結(jié)束時觸發(fā)的事件,即鼠標(biāo)的按鈕被釋放了
onDragEnterHTML: 2|3|3.2|4
Browser:IE5|N|O
當(dāng)對象被鼠標(biāo)拖動的對象進(jìn)入其容器范圍內(nèi)時觸發(fā)的事件
onDragLeaveHTML: 2|3|3.2|4
Browser:IE5|N|O
當(dāng)對象被鼠標(biāo)拖動的對象離開其容器范圍內(nèi)時觸發(fā)的事件
onDragOverHTML: 2|3|3.2|4
Browser:IE5|N|O
當(dāng)某被拖動的對象在另一對象容器范圍內(nèi)拖動時觸發(fā)的事件 [活動事件]
onDragStartHTML: 2|3|3.2|4
Browser:IE4|N|O
當(dāng)某對象將被拖動時觸發(fā)的事件
onDropHTML: 2|3|3.2|4
Browser:IE5|N|O
在一個拖動過程中,釋放鼠標(biāo)鍵時觸發(fā)的事件
onLoseCaptureHTML: 2|3|3.2|4
Browser:IE5|N|O
當(dāng)元素失去鼠標(biāo)移動所形成的選擇焦點時觸發(fā)的事件
onPasteHTML: 2|3|3.2|4
Browser:IE5|N|O
當(dāng)內(nèi)容被粘貼時觸發(fā)的事件
onSelectHTML: 2|3|3.2|4
Browser:IE4|N|O
當(dāng)文本內(nèi)容被選擇時的事件
onSelectStartHTML: 2|3|3.2|4
Browser:IE4|N|O
當(dāng)文本內(nèi)容選擇將開始發(fā)生時觸發(fā)的事件
數(shù)據(jù)綁定
事件瀏覽器支持描述
onAfterUpdateHTML: 2|3|3.2|4
Browser:IE4|N|O
當(dāng)數(shù)據(jù)完成由數(shù)據(jù)源到對象的傳送時觸發(fā)的事件
onCellChangeHTML: 2|3|3.2|4
Browser:IE5|N|O
當(dāng)數(shù)據(jù)來源發(fā)生變化時
onDataAvailableHTML: 2|3|3.2|4
Browser:IE4|N|O
當(dāng)數(shù)據(jù)接收完成時觸發(fā)事件
onDatasetChangedHTML: 2|3|3.2|4
Browser:IE4|N|O
數(shù)據(jù)在數(shù)據(jù)源發(fā)生變化時觸發(fā)的事件
onDatasetCompleteHTML: 2|3|3.2|4
Browser:IE4|N|O
當(dāng)來子數(shù)據(jù)源的全部有效數(shù)據(jù)讀取完畢時觸發(fā)的事件
onErrorUpdateHTML: 2|3|3.2|4
Browser:IE4|N|O
當(dāng)使用onBeforeUpdate事件觸發(fā)取消了數(shù)據(jù)傳送時,代替onAfterUpdate事件
onRowEnterHTML: 2|3|3.2|4
Browser:IE5|N|O
當(dāng)前數(shù)據(jù)源的數(shù)據(jù)發(fā)生變化并且有新的有效數(shù)據(jù)時觸發(fā)的事件
onRowExitHTML: 2|3|3.2|4
Browser:IE5|N|O
當(dāng)前數(shù)據(jù)源的數(shù)據(jù)將要發(fā)生變化時觸發(fā)的事件
onRowsDeleteHTML: 2|3|3.2|4
Browser:IE5|N|O
當(dāng)前數(shù)據(jù)記錄將被刪除時觸發(fā)的事件
onRowsInsertedHTML: 2|3|3.2|4
Browser:IE5|N|O
當(dāng)前數(shù)據(jù)源將要插入新數(shù)據(jù)記錄時觸發(fā)的事件
外部事件
事件瀏覽器支持描述
onAfterPrintHTML: 2|3|3.2|4
Browser:IE5|N|O
當(dāng)文檔被打印后觸發(fā)的事件
onBeforePrintHTML: 2|3|3.2|4
Browser:IE5|N|O
當(dāng)文檔即將打印時觸發(fā)的事件
onFilterChangeHTML: 2|3|3.2|4
Browser:IE4|N|O
當(dāng)某個對象的濾鏡效果發(fā)生變化時觸發(fā)的事件
onHelpHTML: 2|3|3.2|4
Browser:IE4|N|O
當(dāng)瀏覽者按下F1或者瀏覽器的幫助選擇時觸發(fā)的事件
onPropertyChangeHTML: 2|3|3.2|4
Browser:IE5|N|O
當(dāng)對象的屬性之一發(fā)生變化時觸發(fā)的事件
onReadyStateChangeHTML: 2|3|3.2|4
Browser:IE4|N|O
當(dāng)對象的初始化屬性值發(fā)生變化時觸發(fā)的事件

]]>
http://www.mxio.cn/10068.html/feed 0
JavaScript事件的理解 http://www.mxio.cn/10009.html http://www.mxio.cn/10009.html#respond Fri, 29 Sep 2006 10:21:00 +0000 在很多語言的學(xué)習(xí)中,“事件”都是一個比較難理解,但是又是一個很重要的概念。JavaScript中的事件處理也是一樣,正因為有了事件處理,才會出現(xiàn)Ajax拖動的效果。本文就討論一下JavaScript中的事件處理,讀過之后,您就會知道,很多Ajax框架實現(xiàn)拖動效果的原理了。
一、 IE Event對象
(一)IE Event對象的主要屬性和方法
  在IE中有一個專門負(fù)責(zé)事件處理的對象Event,這個對象負(fù)責(zé)對事件的處理,含有很多的屬性和方法,通過這些方法和屬性的調(diào)用,就能完成很多的事件處理。
  type:事件的類型,就是HTML標(biāo)簽屬性中,沒有“on”前綴之后的字符串,例如“Click”就代表單擊事件。
  srcElement:事件源,就是發(fā)生事件的元素。
  button:聲明了被按下的鼠標(biāo)鍵,是一個整數(shù)。1代表鼠標(biāo)左鍵,2代表鼠標(biāo)右鍵,4代表鼠標(biāo)的中間鍵,如果按下了多個鼠標(biāo)鍵,就把這些值加在一起,所以3就代表左右鍵同時按下。
  clientX/clientY:是指事件發(fā)生的時候,鼠標(biāo)的橫、縱坐標(biāo),返回的是整數(shù),它們的值是相對于包容窗口的左上角生成的。
  offsetX/offsetY:鼠標(biāo)指針相對于源元素的位置,可以確定單擊Image對象的哪個象素。
  altKey,ctrlKey,shiftKey:顧名思義,這些屬性是指鼠標(biāo)事件發(fā)生的時候,是否同時按住了Alt、Ctrl或者Shift鍵,返回的是一個布爾值。
  keyCode:返回keydown和keyup事件發(fā)生的時候,按鍵的代碼以及keypress事件的Unicode字符。
  fromElement、toElement前者是指代mouseover事件移動過的文檔元素,后者指代mouseout事件中鼠標(biāo)移動到的文檔元素。
  cancelBubble:一個布爾屬性,把它設(shè)置為true的時候,將停止事件進(jìn)一步起泡到包容層次的元素。
  returnValue:一個布爾值屬性,設(shè)置為false的時候可以組織瀏覽器執(zhí)行默認(rèn)的事件動作,相當(dāng)于<a href=”#” onclick=”ProcessMethod();return false;” />。
  attachEvent()和detachEvent()方法:為制定DOM對象事件類型注冊多個事件處理函數(shù)的方法,它們有兩個參數(shù),第一個是事件類型,第二個是事件處理函數(shù)。在attachEvent()事件執(zhí)行的時候,this關(guān)鍵字指向的是window對象,而不是發(fā)生事件的那個元素。
  (二)IE Event對象的一些說明
  1.IE Event對象是一個全局屬性
  在IE中,不能把Event對象作為參數(shù)傳遞給事件處理程序,只能用window.event或者event來引用Event對象。因為在IE中,Event是window的一個屬性,也就是說event是一個全局變量,這個變量提供了事件的細(xì)節(jié)。
  2.IE中事件的起泡:IE中事件可以沿著包容層次一點點起泡到上層,也就是說,下層的DOM節(jié)點定義的事件處理函數(shù),到了上層的節(jié)點如果還有和下層相同事件類型的事件處理函數(shù),那么上層的事件處理函數(shù)也會執(zhí)行。例如,<div>標(biāo)簽包含了<a>,如果這兩個標(biāo)簽都有onclick事件的處理函數(shù),那么執(zhí)行的情況就是先執(zhí)行<a>標(biāo)簽的onclick事件處理函數(shù),再執(zhí)行<div>的事件處理函數(shù)。如果希望<a>的事件處理函數(shù)執(zhí)行完畢之后,不希望執(zhí)行上層的<div>的onclick的事件處理函數(shù)了,那么就把cancelBubble設(shè)置為false即可。
  
二、 IE中拖動DOM元素的例子
/*
該函數(shù)由mousedown事件處理調(diào)用
它為隨后發(fā)生的mousemove和mouseup事件注冊了臨時的捕捉事件處理程序
并用這些事件處理程序拖動指定的文檔元素
第二個參數(shù)必須是mousedown事件的事件對象
*/
function beginDrag(elementToDrag,event)
{
//該元素當(dāng)前位于何處
//該元素的樣式性質(zhì)必須具有l(wèi)eft和top css屬性
//此外,我們假定他們用象素做單位
//var x=parseInt(elementToDrag.style.left);
//var y=parseInt(elementToDrag.style.top);

//計算一個點和鼠標(biāo)點擊之間的距離,下面的嵌套的moveHandler函數(shù)需要這些值
var deltaX=event.clientX-parseInt(elementToDrag.style.left);
var deltaY=event.clientY-parseInt(elementToDrag.style.top);

// 注冊mousedown事件后發(fā)生的mousemove和mouseup事件的處理程序
// 注意,它們被注冊為文檔的捕捉事件處理程序
// 在鼠標(biāo)按鈕保持按下的狀態(tài)的時候,這些事件處理程序保持活動的狀態(tài)
// 在按鈕被釋放的時候,它們被刪除
document.attachEvent(“onmousemove”,moveHandler);
document.attachEvent(“onmouseup”,upHandler);

//我們已經(jīng)處理了該事件,不要讓別的元素看到它
event.cancelBubble=true;
event.returnValue=false;

/*
這是在元素被拖動時候捕捉mousemove事件的處理程序,它響應(yīng)移動的元素

*/
function moveHandler(e)
{
//把元素移動到當(dāng)前的鼠標(biāo)位置
e=window.event;
elementToDrag.style.left=(event.clientX-deltaX)+”px”;
elementToDrag.style.top=(event.clientY-deltaY)+”px”;

//不要讓別的元素看到該事件
event.cancelBubble=true;

}

/*
該事件將捕捉拖動結(jié)束的時候發(fā)生的mouseup事件
*/
function upHandler(e)
{
//注銷事件處理程序
document.detachEvent(“onmouseup”,upHandler);
document.detachEvent(“onmousemove”,moveHandler);}

event.cancelBubble=true;
}
調(diào)用它的HTML文件代碼:
 <html>
 <head>
  <title>Untitled Page</title>
  <script type=”text/javascript” src=”dragIE.js”></script>
 </head>
 <body>
 <div style=”position:absolute;left:100px;top:100px;background-color:White;border:solid black;”>
  <div style=”background-color:Gray;border-bottom:solid black;padding:3px;font-family:Sans-Serif;font-weight:bold;” onmousedown=”beginDrag(this.parentNode,event);”>
  拖動我&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  </div>
  <div>
  <p>This is a test.Testing,testing</p></div>
 </div>
 </body>
三、 DOM中的高級事件處理
IE 6中的事件處理,并不是W3C DOM標(biāo)準(zhǔn)的事件處理模型,所以如果上述代碼運行在Mozilla Firefox的瀏覽器中,就會失去作用,同時即將發(fā)布的IE 7也將支持W3C DOM的二級標(biāo)準(zhǔn),所以掌握DOM的高級事件處理顯得就很重要了,因為W3C DOM二級標(biāo)準(zhǔn)是未來Web的發(fā)展方向,同時W3C DOM的API非常常用,為未來更加復(fù)雜的Web開發(fā)提供了良好的基礎(chǔ)。
(一)事件處理程序的作用域和事件的傳播
  在正式討論DOM高級事件處理之前,我們有必要了解一下事件處理程序的作用域。事件處理程序的作用域要比普通的函數(shù)作用域復(fù)雜很多。普通的函數(shù)作用域鏈比較容易,例如在一個普通函數(shù)中查找一個變量a,那么JavaScript解釋器會先在該函數(shù)的調(diào)用對象中查找是否有a這個變量,如果沒有,將會在作用域鏈的下一個對象,一般是全局對象中查找。但是事件處理程序沒這么簡單,特別是用HTML的屬性定義的,它們的作用域鏈的頭部是調(diào)用它們的對象,而下一個對象并不是全局對象,而是觸發(fā)事件處理程序的對象。這樣就會出現(xiàn)一個問題,window和document都有一個方法open(),如果open()前面不加修飾,那么在事件處理的函數(shù)中將會調(diào)用document.open()方法,而不是常用的window.open()方法,所以使用的時候應(yīng)該明確指明是window.open()。
(二)事件傳播和注冊事件處理程序
1.事件傳播
  在二級DOM標(biāo)準(zhǔn)中,事件處理程序比較復(fù)雜,當(dāng)事件發(fā)生的時候,目標(biāo)節(jié)點的事件處理程序就會被觸發(fā)執(zhí)行,但是目標(biāo)節(jié)點的父節(jié)點也有機(jī)會來處理這個事件。事件的傳播分為三個階段,首先是捕捉階段,事件從Document對象沿著DOM樹向下傳播到目標(biāo)節(jié)點,如果目標(biāo)的任何一個父節(jié)點注冊了捕捉事件的處理程序,那么事件在傳播的過程中就會首先運行這個程序。下一個階段就是發(fā)生在目標(biāo)節(jié)點自身了,注冊在目標(biāo)節(jié)點上的相應(yīng)的事件處理程序就會執(zhí)行;最后是起泡階段,事件將從目標(biāo)節(jié)點向上傳回給父節(jié)點,同樣,如果父節(jié)點有相應(yīng)的事件處理程序也會處理。在IE中,沒有捕捉的階段,但是有起泡的階段。可以用stopPropagating()方法來停止事件傳播,也就是讓其他元素對這個事件不可見,在IE 6中,就是把cancelBubble設(shè)置為true。
2.注冊事件處理程序
  和IE一樣,DOM標(biāo)準(zhǔn)也有自己的事件處理程序,不過DOM二級標(biāo)準(zhǔn)的事件處理程序比IE的強(qiáng)大一些,事件處理程序的注冊用addEventListner方法,該方法有三個參數(shù),第一個是事件類型,第二個是處理的函數(shù),第三個是一個布爾值,true表示制定的事件處理程序?qū)⒃谑录鞑サ碾A段用于捕捉事件,否則就不捕捉,當(dāng)事件發(fā)生在對象上才觸發(fā)執(zhí)行這個事件處理的函數(shù),或者發(fā)生在該對象的字節(jié)點上,并且向上起泡到這個對象上的時候,觸發(fā)執(zhí)行這個事件處理的函數(shù)。例如:document.addEventListener(“mousemove”,moveHandler,true);就是在mousemove事件發(fā)生的時候,調(diào)用moveHandler函數(shù),并且可以捕捉事件。
  可以用addEventListener為一個事件注冊多個事件處理的程序,但是這些函數(shù)的執(zhí)行順序是不確定,并不像C#那樣按照注冊的順序執(zhí)行。
  在Mozilla Firefox中用addEventListener注冊一個事件處理程序的時候,this關(guān)鍵字就表示調(diào)用事件處理程序的文檔元素,但是其他瀏覽器并不一定是這樣,因為這不是DOM標(biāo)準(zhǔn),正確的做法是用currentTarget屬性來引用調(diào)用事件處理程序的文檔元素。
3.二級DOM標(biāo)準(zhǔn)中的Event
  和IE不同的是,W3C DOM中的Event對象并不是window全局對象下面的屬性,換句話說,event不是全局變量。通常在DOM二級標(biāo)準(zhǔn)中,event作為發(fā)生事件的文檔對象的屬性。Event含有兩個子接口,分別是UIEvent和MutationEvent,這兩個子接口實現(xiàn)了Event的所有方法和屬性,而MouseEvent接口又是UIEvent的子接口,所以實現(xiàn)了UIEvent和Event的所有方法和屬性。下面,我們就看看Event、UIEvent和MouseEvent的主要屬性和方法。
  1.Event
   type:事件類型,和IE類似,但是沒有“on”前綴,例如單擊事件只是“click”。
   target:發(fā)生事件的節(jié)點。
   currentTarget:發(fā)生當(dāng)前正在處理的事件的節(jié)點,可能是Target屬性所指向的節(jié)點,也可能由于捕捉或者起泡,指向Target所指節(jié)點的父節(jié)點。
   eventPhase:指定了事件傳播的階段。是一個數(shù)字。
   timeStamp:事件發(fā)生的時間。
   bubbles:指明該事件是否起泡。
   cancelable:指明該事件是否可以用preventDefault()方法來取消默認(rèn)的動作。
   preventDefault()方法:取消事件的默認(rèn)動作;
   stopPropagation()方法:停止事件傳播。
  2.UIEvent
   view:發(fā)生事件的window對象。
   detail:提供事件的額外信息,對于單擊事件、mousedown和mouseup事件都代表的是點擊次數(shù)。
  3.MouseEvent
   button:一個數(shù)字,指明在mousedown、mouseup和單擊事件中,鼠標(biāo)鍵的狀態(tài),和IE中的button屬性類似,但是數(shù)字代表的意義不一樣,0代表左鍵,1代表中間鍵,2代表右鍵。
   altKey、ctrlKey、shiftKey、metaKey:和IE相同,但是IE沒有最后一個。
   clientX、clientY:和IE的含義相同,但是在DOM標(biāo)準(zhǔn)中,這兩個屬性值都不考慮文檔的滾動情況,也就是說,無論文檔滾動到哪里,只要事件發(fā)生在窗口左上角,clientX和clientY都是0,所以在IE中,要想得到事件發(fā)生的坐標(biāo)相對于文檔開頭的位置,要加上document.body.scrollLeft和document.body.scrollTop。
   screenX、screenY:鼠標(biāo)指針相對于顯示器左上角的位置,如果你想打開新的窗口,這兩個屬性很重要。
   relatedTarget:和IE中的fromElement、toElement類似,除了對于mouseover和mouseout有意義外,其他的事件沒什么意義。
(三)兼容于兩種主流瀏覽器的拖動DOM元素的例子
  好了,剛才講了這么多DOM編程和IE中的事件,那么如何編寫兼容IE和Mozilla Firefox兩種主流瀏覽器的拖拽程序呢?代碼如下:
function beginDrag(elementToDrag,event)
{
var deltaX=event.clientX-parseInt(elementToDrag.style.left);
var deltaY=event.clientY-parseInt(elementToDrag.style.top);

if(document.addEventListener)
{
document.addEventListener(“mousemove”,moveHandler,true);
document.addEventListener(“mouseup”,upHandler,true);
}
else if(document.attachEvent)
{
document.attachEvent(“onmousemove”,moveHandler);
document.attachEvent(“onmouseup”,upHandler);

}

if(event.stopPropagation) event.stopPropagation();
else event.cancelBubble=true;
if(event.preventDefault) event.preventDefault();
else event.returnValue=false;

function moveHandler(e)
{
  if (!e) e=window.event; //如果是IE的事件對象,那么就用window.event
  //全局屬性,否則就用DOM二級標(biāo)準(zhǔn)的Event對象。
elementToDrag.style.left=(event.clientX-deltaX)+”px”;
elementToDrag.style.top=(event.clientY-deltaY)+”px”;

if(event.stopPropagation) event.stopPropagation();
else event.cancelBubble=true;

}

function upHandler(e)
{
if(document.removeEventListener)
{
document.removeEventListener(“mouseup”,upHandler,true);
document.removeEventListener(“mousemove”,moveHandler,true);}
else
{
document.detachEvent(“onmouseup”,upHandler);
document.detachEvent(“onmousemove”,moveHandler);}
}
if(event.stopPropagation) event.stopPropagation();
else event.cancelBubble=true;

}

]]>
http://www.mxio.cn/10009.html/feed 0
主站蜘蛛池模板: 精品久久久久中文字幕加勒比| 蜜臀久久99精品久久久久久| 国产一区二区亚洲一区二区三区| 欧美一区二区三区久久综合| 制服丝袜人妻中文字幕在线| 亚洲av精彩一区二区| 色噜噜久久综合伊人一本| 亚洲精品久久久久国色天香| 人妻在卧室被老板疯狂进入国产| 亚洲va综合va国产产va中| 好男人社区影视在线WWW| 久久久国产一区二区三区四区小说| 日本香港三级亚洲三级| 亚洲综合精品香蕉久久网| 国产又粗又硬又大爽黄老大爷视| 亚洲a∨天堂男人无码| 色偷偷女人的天堂亚洲网| 天堂资源在线www在线观看| 成人三级视频在线观看一区二区 | 国产AV永久无码青青草原| 亚洲女同精品一区二区| 亚洲av片在线免费观看| 亚洲www啪成人一区二区麻豆| 2019最新久久久视频精品 | 九九99亚洲精品久久久久| 精品国产中文字幕在线| 欧美极品少妇×xxxbbb| 99re视频热这里只有精品38| 国产亚洲精品第一综合另类| 亚洲va韩国va欧美va| 成人午夜无码专区性视频性视频 | 国产精品久久久久久久9999| 女人毛片女人毛片高清| 优优人体大尺大尺无毒不卡| 久久精品国产亚洲不av麻豆| 91精品国产午夜福利| 黑人又粗又大又硬a片| 亚洲欧美在线看片AI| 激情综合网激情激情五月天| av无码小缝喷白浆在线观看| 日本中文字幕乱码免费|