UI (User Interface) 事件,當使用者與頁面上的元素互動時觸發
Load事件:當頁面完全載入後,就會觸發window上的load事件。
Unload事件:在文件被完全卸載後觸發。只要使用者從一個頁面切換到另一個頁面,就會觸發。
Resize事件:當瀏覽器調整到一個新的高度或寬度時,就會觸發resize事件。注意不要在這個事件中加入計算邏輯,避免效能問題。
EventUtil.addHandler(window, "resize", function (event) { //防抖函数 //每次调用函数都会清除之前的计数器,并重新计数,计数完成时,执行操作。 var timer; return function () { if (timer) { clearTimeout(timer); } timer = setTimeout(function () { //setTimeout返回唯一标识符,可以使用它来取消计数器 console.log("123"); },500); } }());//此处的双括号表示,立即调用返回值
Scroll事件:當使用者捲動帶有流動條的元素中的內容時,在該元素上面觸發。
EventUtil.addHandler(window, "scroll", function (event) { //函数节流 var timer; return function () { if (timer) { clearTimeout(timer); } timer = setTimeout(function () { //setTimeout返回唯一标识符,可以使用它来取消计数器 if (document.compatMode == "CSS1Compat") { //标准模式 console.log("Left:" + document.documentElement.scrollLeft); console.log("Top:" + document.documentElement.scrollTop); } else { //混杂模式 console.log("Left:" + document.body.scrollLeft); console.log("Top:" + document.body.scrollTop); } }, 500); } }());
焦點事件,在頁面獲得或失去焦點時觸發
Blur事件:在元素失去焦點時觸發。這個事件不會冒泡;所有瀏覽器都支援它;
Focus事件:在元素獲得焦點時觸發。這個事件不會冒泡,所有瀏覽器都支援它;
Focusin事件:在元素獲得焦點時觸發。這個事件與HTML事件focus等價,但它冒泡,支援這個事件的瀏覽器有IE5 safari5.1 Opera11.5 和 Chrome;
Focusout事件: 在元素獲得失去時觸發。這個事件是HTML事件blur的通用版本,,支援這個事件的瀏覽器有IE5 safari5.1 Opera11.5 和Chrome;
滑鼠與滾輪事件
Click事件:在使用者單機滑鼠左鍵或按下回車鍵時觸發。
DbClick事件:使用者雙擊滑鼠左鍵時觸發。
MouseDown事件:在使用者按下滑鼠任意按鈕時觸發。
MouseEnter事件:滑鼠從外部首次移入到元素範圍內觸發。
MouseLeave事件:滑鼠移出元素範圍之外觸發。
MouseMove事件:當滑鼠指標在元素內部移動時重複觸發。
MouseOut事件:在滑鼠指標位於一個元素上方,然後使用者將其移入到另一個元素時觸發。
MouseOver事件:在滑鼠指標位於一個元素外部,然後使用者將其首次移入到另一個元素邊界之內時觸發。
MouseUp:在使用者釋放滑鼠指標時觸發。
幾個滑鼠座標位置:
1.客戶區座標位置
滑鼠事件都是在瀏覽器視窗中的特定位置上發生的。這個位置保存在事件物件的clientX和clientY屬性中。
2.頁面座標位置
pageX和pageY能告訴你事件是在頁面中什麼位置發生的。換句話說,這兩個屬性表示遊標在頁面中的位置,因此座標是從頁面本身而不是視口左邊或頂邊計算的。
在頁面沒有捲動的情況下,pageX和pageY和clientX和clientY是相等的。
IE8及更早的版本不支援頁面座標位置,不過可以使用客戶區座標位置和捲動資訊計算出來。
EventUtil.addHandler(document.getElementById("p1"), "click", function (event) { //兼容IE8及之前版本 event = EventUtil.getEvent(event); var pageX = event.pageX, pageY = event.pageY; if (pageX === undefined) { pageX = event.clientX + (document.body.scrollLeft || document.documentElement.scrollLeft); } if (pageY === undefined) { pageY = event.clientY + (document.body.scrollTop || document.documentElement.scrollTop); } //console.log("pageX:" + pageX); //console.log("pageY:" + pageY); });
3.螢幕座標位置
screenX和screenY屬性可以決定滑鼠事件發生時滑鼠指標相對於整個螢幕的座標資訊。
相關推薦:
詳解讀JavaScript中的事件流與事件處理程序(圖文教學)
以上是最新整理的JavaScript常見事件類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!