今日重點:
day04 - web apis
一、鍵盤事件
1、鍵盤事件
onkeyup --- 鍵盤彈起
onkeydown -- 鍵盤按下事件 **
onkeypress -- 鍵盤按下事件 (不能識別功能鍵 例如:ctrl shift 左右箭頭....)
三個事件執行順序: onkeydown --》onkeypress ---》onkeyup
2、鍵盤事件物件
e.keycode -- 返回該鍵的ascii 值
總結:(1)keypress雖然區分字母大小寫。但是在實際開發中更多使用keydown;因為keydown能識別所有鍵。**
(2)keypress 不識別功能鍵,但是keycode屬效能區分大小寫,返回不同的ascii值。
3、案例:模擬京東按鍵輸入內容
觸發獲得焦點事件,可以使用 元素物件.focus()
4、案例:模擬京東快遞單號查詢
(1)keydown 和keypress在文字輸入框裡面的特點 --- 兩個事件觸發時候,文字還沒有落入文字框。
(2)keyup -- 文字已經落入文字框,事件就觸發了。
二、bom
1、什麼是bom
全域性作用域 -- 下面的變數,在全域性下面可以使用,在函式區域性作用域也可以使用。window具有全域性性 。
2、bom的構成
(1)dom 的頂級物件是 document。
(2)bom 的頂級物件是 window。
(3)bom(瀏覽器物件模型)包含dom(文件物件模型)的 -- 所以我們通過window可以找到document,然後可以間接操作document下面的元素。
(4)window下的乙個特殊屬性window.name
3、window物件的常見事件
1)頁面(視窗)載入事件
(1)window.onload 是視窗 (頁面)載入事件,當文件內容完全載入完成會觸發該事件(包括影象、指令碼檔案、css 檔案等), 就呼叫的處理函式。
(2)domcontentloaded 事件觸發時,僅當dom載入完成,不包括樣式表,,flash等等。
兩者區別:
①load --- 頁面全部內容載入完畢執行(dom flash外掛程式,css ........)
②domcontentloaded --- 只需要dom載入完畢即可。
③domcontentloaded 事件 比 load事件 --- 速度更快。
2)調整視窗大小事件
window.onresize 是調整視窗大小載入事件, 當觸發時就呼叫的處理函式。
注意:(1)只要視窗大小發生畫素變化,就會觸發這個事件。
(2)我們經常利用這個事件完成響應式布局。window.innerwidth 當前螢幕的寬度
4、定時器
第一種:settimeout() 炸彈定時器
1)開啟定時器
(1)window.settimeout(呼叫的函式,延遲的毫秒數)
(2)settimeout() -- 這個呼叫函式也稱為**函式。
(3)這個函式,需要等待時間,時間到了才呼叫這個函式 ---稱為**函式
注:普通函式是按照**順序直接呼叫。
簡單理解: **,就是回頭呼叫的意思。上一件事幹完,再回頭再呼叫這個函式。
例如:定時器中的呼叫函式,事件處理函式,也是**函式。
以前我們講的 element.onclick = function(){} 或者 element.addeventlistener(「click」, fn); 裡面的 函式也是**函式。
2)停止定時器
window.cleartimeout(之前設定的定時器名字);
window可省略
第二種:setinterval() 鬧鐘定時器
1)開啟定時器
window.setinterval(**函式,時間間隔);
每次到了這個時間間隔,就去呼叫一次**函式。
定時器的執行 -- 只和時間間隔有關,到了時間,才執行程式。
2)停止定時器
window.clearinterval(定時器名字);
5、this指向問題
(1)全域性作用域或者普通的函式中this --- 指向全域性物件window
(2)定時器中的this -- 指向window
(3)方法呼叫中的this -- 誰呼叫,指向誰
(4)建構函式中(例如:new fun()
BOM 使用定時器
方法 說明 setinterval 按照指定的週期,以毫秒為單位 來呼叫函式或計算表示式 迴圈執行 settimeout 在指定的毫秒數後呼叫函式或計算表示式 執行一次 clearinterval 取消由setinterval 方法生成的定時器物件 clearsettimeout 取消由settim...
2021 01 07定時器與Bom
在js中定時器有兩種 1 setinterval 2 settimeout 簡單語句可直接寫入 var int2 1 var timer setinterval console.log int2 1000 也可呼叫函式 延遲3s彈出 var timer settimeout helloword,30...
QML 事件處理 滑鼠 鍵盤 定時器
mousearea 物件可以附加到乙個 item 上供 item 處理滑鼠事件,它本身是乙個不可見的 item 在其內部,可以直接引用它所附著的物件的屬性和方法。你可以將 mousearea 理解為它所附著的 item 的 mousearea 有很多屬性,enabled 用來控制是否處理滑鼠事件,預...