記錄這個表格,是以前屢次碰到一些不熟悉,或者從未使用過的事件來處理一些棘手問題時,總覺得是新的瀏覽器特性,其實在一些老舊瀏覽器上,或者window上已經自己提供了一些事件綁定或者方法的調用。html
最近正好在重寫sugget/autocomplete的組件,一直以來比較棘手的問題解決是當鼠標焦點離開<input>時,而恰好在suggest的列表浮層上觸發click時,處理顯得比較麻煩,之前較爲常規的解決方案是採用delay這種方式來延遲事件上下文的處理,每每在定義delayTime的時候比較折騰,須要計算程序執行花費的事件,以及用戶最可能的操做變化的事件差,但這種處理必然會帶來必定的處理偏差,很容易產生很差的用戶體驗或者體驗bug. 昨天在看@玉伯 09年寫的一個suggest,我竟然才知道能夠利用window的是beforedeaactivate事件來處理blur事件帶來的光標丟失問題數組
Window的屬性瀏覽器
屬性 | 描述 |
---|---|
closed | 獲取引用窗口是否已關閉。 |
defaultStatus | 設置或獲取要在窗口底部的狀態欄上顯示的缺省信息。 |
dialogArguments | 設置或獲取傳遞給模式對話框窗口的變量或變量數組。 |
dialogHeight | 設置或獲取模式對話框的高度。 |
dialogLeft | 設置或獲取模式對話框的左座標。 |
dialogTop | 設置或獲取模式對話框的頂座標。 |
dialogWidth | 設置或獲取模式對話框的寬度。 |
frameElement | 獲取在父文檔中生成 window 的 frame 或 iframe 對象。 |
length | 設置或獲取集合中對象的數目。 |
name | 設置或獲取代表窗口名稱的值。 |
offscreenBuffering | 設置或獲取對象在對用戶可見以前是否要先在屏幕外繪製。 |
opener | 設置或獲取建立當前窗口的窗口的引用。 |
parent | 獲取對象層次中的父窗口。 |
returnValue | 設置或獲取從模式對話框返回的值。 |
screenLeft | 獲取瀏覽器客戶區左上角相對於屏幕左上角的 x 座標。 |
screenTop | 獲取瀏覽器客戶區左上角相對於屏幕左上角的 y 座標。 |
self | 獲取對當前窗口或框架的引用。 |
status | 設置或獲取位於窗口底部狀態欄的信息。 |
top | 獲取最頂層的祖先窗口。 |
Window的事件框架
事件 | 描述 |
---|---|
onactivate | 當對象設置爲活動元素時觸發。 |
onafterprint | 對象所關聯的文檔打印或打印預覽後當即在對象上觸發。 |
onbeforedeactivate | 在 activeElement 從當前對象變爲父文檔其它對象以前當即觸發。 |
onbeforeprint | 對象的關聯文檔打印或打印預覽前在對象上觸發。 |
onbeforeunload | 在頁面將要被卸載前觸發。 |
onblur | 在對象失去輸入焦點時觸發。 |
oncontrolselect | 當用戶將要對該對象製做一個控件選中區時觸發。 |
ondeactivate | 當 activeElement 從當前對象變爲父文檔其它對象時觸發。 |
onerror | 當對象裝載過程當中發生錯誤時觸發。 |
onfocus | 當對象得到焦點時觸發。 |
onhelp | 當用戶在瀏覽器爲當前窗口時按 F1 鍵時觸發。 |
onload | 在瀏覽器完成對象的裝載後當即觸發。 |
onmove | 當對象移動時觸發。 |
onmoveend | 當對象中止移動時觸發。 |
onmovestart | 當對象開始移動時觸發。 |
onresize | 當對象的大小將要改變時觸發。 |
onresizeend | 當用戶更改完控件選中區中對象的尺寸時觸發。 |
onresizestart | 當用戶開始更改控件選中區中對象的尺寸時觸發。 |
onscroll | 當用戶滾動對象的滾動條時觸發。 |
onunload | 在對象卸載前當即觸發。 |
window的集合less
集合 | 描述 |
---|---|
frames | 獲取給定文檔定義或與給定窗口關聯的文檔定義的全部 window 對象的集合。 |
window的方法函數
方法 | 描述 |
---|---|
alert | 顯示包含由應用程序自定義消息的對話框。 |
attachEvent | 將指定函數綁定到事件,以便每當該事件在對象上觸發時都調用該函數。 |
blur | 使元素失去焦點並觸發 onblur 事件。 |
clearInterval | 使用 setInterval 方法取消先前開始的間隔事件。 |
clearTimeout | 取消先前用 setTimeout 方法設置的超時事件。 |
close | 關閉當前瀏覽器窗口或 HTML 應用程序(HTA)。 |
confirm | 顯示一個確認對話框,其中包含一個可選的消息和肯定取消按鈕。 |
createPopup | 建立彈出窗口。 |
detachEvent | 從事件中取消指定函數的綁定,這樣當事件觸發時函數就不會收到通知了。 |
execScript | 以給定語言執行指定的腳本。 |
focus | 使得元素獲得焦點並執行由 onfocus 事件指定的代碼。 |
moveBy | 將窗口的位置移動指定 x 和 y 偏移值。 |
moveTo | 將窗口左上角的屏幕位置移動到指定的 x 和 y 位置。 |
navigate | 在當前窗口中裝入指定 URL。 |
open | 打開新窗口並裝入給定 URL 的文檔。 |
打印與窗口關聯的文檔。 | |
prompt | 顯示一個提示對話框,其中帶有一條消息和一個輸入框。 |
resizeBy | 更改窗口的當前位置縮放指定的 x 和 y 偏移量。 |
resizeTo | 將窗口的大小更改成指定的寬度和高度值。 |
scroll | 將窗口滾動到自左上角起指定的 x 和 y 偏移量。 |
scrollBy | 將窗口滾動 x 和 y 偏移量。 |
scrollTo | 將窗口滾動到指定的 x 和 y 偏移量。 |
setActive | 設置對象爲當前對象而不將對象置爲焦點。 |
setInterval | 每通過指定毫秒值後計算一個表達式。 |
setTimeout | 通過指定毫秒值後計算一個表達式。 |
showHelp | 顯示幫助文件。此方法可用於 Microsoft HTML 幫助。 |
showModalDialog | 建立一個顯示指定 HTML 文檔的模式對話框。 |
showModelessDialog | 建立一個顯示指定 HTML 文檔的非模式對話框。 |
window的對象spa
對象 | 描述 |
---|---|
clientInformation | 包含關於 Web 瀏覽器的信息。 |
clipboardData | 提供了對於預約義的剪貼板格式的訪問,以便在編輯操做中使用。 |
document | 表明給定瀏覽器窗口中的 HTML 文檔。 |
event | 表明事件狀態,如事件發生的元素,鍵盤狀態,鼠標位置和鼠標按鈕狀態。 |
external | 容許訪問由 Microsoft® Internet Explorer 瀏覽器組件宿主應用程序提供的附加對象模型。 |
history | 包含了用戶已瀏覽的 URL 的信息。 |
location | 包含關於當前 URL 的信息。 |
navigator | 包含關於 Web 瀏覽器的信息。 |
screen | 包含關於客戶屏幕和渲染能力的信息。 |