用戶端編程--JavaScript(4)

來源:互聯網
上載者:User

JavaScript事件處理 

捆綁事件到元素:
  使用傳統的XHTML事件處理屬性 <form onsubmit="myFunction();">
        使用指令碼將處理常式設定為與某個對象相關聯 document.getElementById("myForm").onsubmit = myFunction;
       使用專利方法例如IE的attachEvent()
       使用DOM2方法用一個節點煌addEventListener() 設定事件監聽器

觸發事件的方法:
  通過瀏覽器響應使用者或者JavaScript的某些初始行為隱式地觸發. <body onLoad()="myFunction();">
  在JavaScript中使用DOM1的方法顯示觸發. document.forms[0].submit()
        使用專利方法例如IE的fireEvent()
        在JavaScript中使用DOM2的dispatchEvent()方法顯示觸發

基本事件與XHTML中對應的元素的事件處理常式屬性
onblur 失去焦點時發生    onchange失去焦點並且值被修改   onclick          ondblclick
onfocus獲得焦點  ondeydown當焦點在某元素上時,正按下一個鍵    onkeypres    onkeyup
onload       onmousedown  onmosemove  onmouseout  onmouseover滑鼠已經移到某個元素  onmouseup
onrest 指示表單正在被重設  onselect指示使用者選擇一段文本  onsubmit  onunload

使用JavaScript綁定比使用XHTML 屬性綁定更檔案在想要動態添加或者刪除處理常式時.這樣做有助於提高文檔結構,邏輯和表現形式的分離.

現代事件模型
  現代事件模型與基本事件模型的一個主要區別就是增加了event對象,這個對象給每個事件處理常式一個事件發生時的上下文快照.

E中將事件處理常式綁定到對象: attachEvent("要處理的事件",處理常式)   detachEvent("要處理的事件",處理常式)

DOM2事件模型
  DOM2中的事件在對象層次的頂部(document)開始其生命週期,然後沿著包含的對象下降,達到目標並且執行處理常式,隨後事件往上冒泡到頂部.

使用addEventListener()綁定事件 好處有三:一,可以為相同事件綁定多個處理常式 二,在事件下降到目標的過程中處理事件 三,該方法可以將處理常式綁定到文本節點.
object.addEventListener("event", handler, capturePhase)    object是監聽器綁定的節點 event是一個指示要監聽 的事件的字串   handler是當事件發生時,要調用的函數  capturePhase是一個布爾值true下降flase冒泡

阻止預設行為 preventDefault()    阻止事件傳播  stopPropagation()

 

JavaScript控制瀏覽器視窗

對話方塊 alert(string)   確認對話方塊boolea confirm(string)   提示對話方塊String prompt(提示字串,預設值字串)

開啟和關閉普通視窗window.optn(url, name, features, replace) name是視窗的名稱 feature是一個以逗號分隔的視窗的特徵列表  replace是一個boolea 指示指定的URL是否替代視窗的內容

features迴圈參數值
 alwaysLowered 指示視窗是否放在所有其它視窗後
alwaysRaised指示視窗是否放在所有其它視窗上
fullscreen是否全螢幕顯示(IE)
hotkeys指示是否瀏覽器的熱鍵是否覆蓋基本的熱鍵
resizable指定使用者是否可以縮放視窗
scrollbars指示是否顯示捲軸
directories指定是否顯示地址按鈕
status指定是否顯示狀態列
titlebar指定是否顯示標題列
toolbar指定是否顯示工具列
location指定是否顯示地址欄
menubar指定是否顯示菜單條
innerHeight設定使用者文檔顯示的視窗的內部高度
innerWidth ....寬度
outerHeight設定視窗的外部高度
outerWidth設定視窗的外部寬度
left表單相對於螢幕左邊的位置(IE)
top表單相對於螢幕頂部的位置(IE)
screenx表單相對於螢幕左邊的位置(netscape)
screeny表單.................右............
height視窗高度
width視窗的寬度

向視窗中寫入內容 document.write() 寫完document.close();
移動視窗 相對移動 window.moveBy(水平相素,垂直相素)   絕對移動windowname.moveTo(X,Y)
調整視窗大小 相對調整 woindow.resizeBy()   絕對調整window.resizeTo()
滾動視窗  相對滾動 window.scrollBy()  絕對滾動 window.scrillTo()
設定視窗地址  window.location="http://..."  
訪問視窗的記錄 history.forward() 前進 history.back() 後退  history.go(I) 正前進負後退
控制視窗的狀態列 status設定臨時在狀態列顯示的資訊 defaultStatus預設狀態列文本資訊
設定視窗逾時和時間間隔 setTimeout(fun, time)設定一個在指定時間後啟動並執行指令碼  clearTimeout()

通用window事件
onblur  視窗失去焦點
onerror  JavaScript錯誤發生時觸發的
onfocus視窗獲得焦點
onload
onresize當使用者調整視窗大小時觸發
onunload當文檔卸載時觸發

IE強制回應視窗 window.showModalDialog(對話方塊URL,參數,特徵)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.