鍵盤事件及BOM介紹(定時器)

2022-07-11 00:15:11 字數 2719 閱讀 3027

今日重點:

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 用來控制是否處理滑鼠事件,預...