js——事件
焦點:使瀏覽器能夠區分用戶輸入的對象,當一個元素有焦點的時候,那么他就可以接收用戶的輸入。
我們可以通過一些方式給元素設置焦點
1、點擊
2、tab
3、js
不是所有元素都能夠接收焦點的.能夠響應用戶操作的元素才有焦點
焦點事件:
onfocus : 當元素獲取到焦點的時候觸發
onblur : 當元素失去焦點的時候觸發
焦點方法:
元素.focus() 給指定的元素設置焦點
元素.blur() 取消指定元素的焦點
元素.select() 選擇指定元素里面的文本內容
event:事件對象 ?當一個事件發生時,和當前這個對象發生的這個事件有關的一些詳細信息都會被臨時保存到一個指 定的地方—event對象,供我們在需要的時候調用。
//**
事件對象必須在一個事件調用的函數里面使用才有內容
事件函數:事件調用的函數,一個函數是不是事件函數,不在定義的決定,而是取決于這個調用的時候
兼容性:
ie/chrome:event是一個內置的全局對象
標準下:事件對象是通過事件函數的第一個參數傳入
如果一個函數是被事件調用的,那么,這個函數定義的第一個參數就是事件對象
clientX[Y] : 當一個事件發生的時候,鼠標到頁面可視區的距離
事件流:事件捕獲 ? 事件冒泡
事件冒泡:當一個元素接收到事件的時候,會把他接收到的所有傳播給他的父級,一直到頂層window.事件冒泡機制
阻止事件冒泡:當前要阻止冒泡的事件函數中調用 event.cancelBubble = true;
//**
給一個對象綁定一個事件處理函數的第一種形式:obj.onclick = fn;
給一個對象的同一個事件綁定多個不同的函數
給一個元素綁定事件函數的第二種形式:
ie:obj.attachEvent(事件名稱,事件函數);
1、沒有捕獲
2、事件名稱有on
3、事件函數執行順序:標準ie >>正序 ? ?非標準ie ?>> ?倒序
4、this指向window
標準:obj.addEventListener(事件名稱,事件函數,是否捕獲); ?//**是否捕獲,默認為false
1、有捕獲
2、事件名稱沒有on
3、事件執行的順序是正序
4、this觸發該事件的對象
call():函數下的一個方法,call方法第一個參數可以改變函數執行過程中的內部的this的指向,call方法第二個參數開始就是函數的參數列表
?
事件捕獲:當一個對象接收事件時,事件會先經過父級元素,由父級元素一層一層傳遞給該對象,這個過程稱為事件捕獲
取消事件綁定:
ie:obj.detachEvent(事件名稱,事件函數);
標準下:obj.removeEventListener(事件名稱,事件函數,是否捕獲);
鍵盤事件:
onkeydown:當鍵盤按鍵按下的時候觸發
onkeyup:當鍵盤按鍵抬起的時候觸發
event.keyCode:數字類型 ?鍵盤按鍵的值 ?鍵值
功能鍵:ctrlKey ? shiftKey ? ?altKey ? ?布爾值
當一個事件發生的時候,如果ctrl || shift || alt 是按下的狀態,返回true,否則返回false
不是所有元素都能夠接收鍵盤事件,能夠響應用戶輸入的元素,能夠接收焦點的元素就能夠接收鍵盤事件
?
事件默認行為:當一個事件發生時,瀏覽器自己會默認做的事情
怎么阻止?
分析當前這個行為是什么事件觸發的,然后在這個事件的處理函數中使用return false;
oncontentmenu:右鍵菜單事件,當右鍵菜單(環境菜單)顯示出來的時候觸發
轉載于:https://www.cnblogs.com/onclick/p/4604759.html
總結
- 上一篇: 我的Java开发学习之旅------Ja
- 下一篇: 《windows server 2008