這篇文章為大家帶來了關於javascript的相關知識,其中主要介紹了關於JavaScript常用事件類型的相關問題,包括了滑鼠事件、鍵盤事件等等內容,下面一起來看一下,希望對大家有幫助。
【相關推薦:javascript影片教學、web前端】
滑鼠事件
事件類型
- click:使用者點選主滑鼠按鈕(一般是左鍵)或按下在聚焦時按下回車鍵時觸發
- dblclick:使用者雙擊主滑鼠按鍵觸發(頻率取決於系統配置)
- mousedown:使用者按下滑鼠任意按鍵時觸發
- mouseup:使用者抬起滑鼠任意按鍵時觸發
- mousemove:滑鼠在元素上移動時觸發
- mouseover:滑鼠進入元素時觸發
- mouseout:滑鼠離開元素時觸發
- mouseenter:滑鼠進入元素時觸發,該事件不會冒泡
- mouseleave:滑鼠離開元素時觸發,該事件不會冒泡
區別:
- over和out,不考慮子元素,從父元素移動到子元素,對於父元素而言,仍然算作離開
- #enter和leave,考慮子元素,子元素仍然是父元素的一部份
- mouseenter和mouseleave不會冒泡
事件物件
所有的滑鼠事件,事件處理程序中的事件對象,都為MouseEvent
- altKey:觸發事件時,是否按下了鍵盤的alt鍵
- ctrlKey:觸發事件時,是否按下了鍵盤的ctrl鍵
- shiftKey:觸發事件時,是否按下了鍵盤的shift鍵
- button:觸發事件時,滑鼠按鍵類型
- 0:左鍵
- 1:中鍵
- 2:右鍵
- ##位置
page:pageX、pageY,目前滑鼠距離頁面的橫縱座標
client: clientX、clientY,滑鼠相對於視窗的座標offset:offsetX、offsetY,滑鼠相對於事件來源的內邊距的座標screen: screenX、screenY,滑鼠相對於螢幕
- x、y ,等同於clientX、clientY
- movement:movementX、movementY,只在滑鼠移動事件中有效,相對於上一次滑鼠位置,偏移的距離
- #鍵盤事件
keydown:按下鍵盤上任意鍵觸發,如果按住不放,會重複觸發此事件keypress:按下鍵盤上一個
字元鍵時觸發
- keyup:抬起鍵盤上任意鍵觸發
- keydown、keypress 如果阻止了事件預設行為,文字不會顯示。
KeyboardEvent
- code:取得按鍵字串,適配鍵盤佈局。
- key:取得按鍵字串,不適配鍵盤佈局。能得到列印字元。
- keyCode、which:得到鍵盤編碼
- #表單事件
focus:元素聚焦的時候觸發(能與使用者互動的元素,都可以聚焦),該事件不會冒泡
- blur:當元素失去焦點時觸發,該事件不會冒泡。
- submit:提交表單事件,僅在form元素有效。
change:文字改變事件
其他事件瀏覽器渲染頁面的過程:##window全域物件
- load、DOMContentLoaded、readystatechange
- window的load:頁面中所有資源全部載入完畢的事件
- 圖片的load:圖片資源載入完畢的事件
得到頁面原始碼
#document的DOMContentLoaded: dom樹建置完成後發生
readystate(頁面有三個狀### 態): loading(正在載入中)、interactive(可互動)、complete(完成)######interactive:觸發DOMContentLoaded事件######complete:觸發window的load事件######readystatechange(當頁面狀態改變的時候觸發//返回改變後的狀態)#########js程式碼應該盡量寫到頁面底部##### #css應該寫到頁面頂部:避免出現閃爍(如果放到頁面底部,會導致元素先沒有樣式,使用醜陋的預設樣式,然後當讀到css文件後,重新改變樣式)
JS應該寫到頁面底部:避免阻塞後續的渲染,也避免執行JS時,得不到頁面中的元素。
unload、beforeunload
#beforeunload: window的事件,關閉視窗時執行,可以阻止關閉視窗
unload:window的事件,關閉視窗時運行
- scroll
視窗發生滾動時運行的事件
透過scrollTop和scrollLeft,可以取得和設定滾動距離。
- resize
視窗尺寸改變時執行的事件,監聽的是視窗尺寸
- contextmenu
右鍵選單事件
- paste
貼上事件
- copy
複製事件
- cut
幾張距離圖片
#元素位置
- offsetParent
取得某個元素第一個定位的祖先元素,如果沒有,則得到body
body的offsetParent為null
- offsetLeft、offsetTop //距離定位元素的距離沒有就是距離body
相對於該元素的offsetParent的座標
如果offsetParent是body,則將其當作是整個網頁
- getBoundingClientRect方法
該方法得到一個對象,該對象記錄了該元素相對於視窗的距離
事件模擬
- click 模擬點擊
- sumbit 模擬提交form
- dispatchEvent模擬事件
其他補充
- window.scrollX、window.pageXOffset、window.scrollY、window.pageYOffset
window.scrollX、window.pageXOffset: 相當於根元素的scrollLeft
window.scrollY、window.pageYOffset: 相當於根元素的scrollTop
- #scrollTo、 scrollBy
scrollTo: 設定捲軸位置//window.scrollTo(x , y) 所有dom物件都可以用
scrollBy:表示原來的基礎上增加x和y軸距離window. scrollBy(x, y)
- resizeTo、resizeBy
【相關推薦:javascript影片教學、web前端】
以上是JavaScript之常用事件類型整理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

JavaScript在Web開發中的主要用途包括客戶端交互、表單驗證和異步通信。 1)通過DOM操作實現動態內容更新和用戶交互;2)在用戶提交數據前進行客戶端驗證,提高用戶體驗;3)通過AJAX技術實現與服務器的無刷新通信。

理解JavaScript引擎內部工作原理對開發者重要,因為它能幫助編寫更高效的代碼並理解性能瓶頸和優化策略。 1)引擎的工作流程包括解析、編譯和執行三個階段;2)執行過程中,引擎會進行動態優化,如內聯緩存和隱藏類;3)最佳實踐包括避免全局變量、優化循環、使用const和let,以及避免過度使用閉包。

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

Python和JavaScript在社區、庫和資源方面的對比各有優劣。 1)Python社區友好,適合初學者,但前端開發資源不如JavaScript豐富。 2)Python在數據科學和機器學習庫方面強大,JavaScript則在前端開發庫和框架上更勝一籌。 3)兩者的學習資源都豐富,但Python適合從官方文檔開始,JavaScript則以MDNWebDocs為佳。選擇應基於項目需求和個人興趣。

從C/C 轉向JavaScript需要適應動態類型、垃圾回收和異步編程等特點。 1)C/C 是靜態類型語言,需手動管理內存,而JavaScript是動態類型,垃圾回收自動處理。 2)C/C 需編譯成機器碼,JavaScript則為解釋型語言。 3)JavaScript引入閉包、原型鍊和Promise等概念,增強了靈活性和異步編程能力。

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

JavaScript在現實世界中的應用包括服務器端編程、移動應用開發和物聯網控制:1.通過Node.js實現服務器端編程,適用於高並發請求處理。 2.通過ReactNative進行移動應用開發,支持跨平台部署。 3.通過Johnny-Five庫用於物聯網設備控制,適用於硬件交互。

我使用您的日常技術工具構建了功能性的多租戶SaaS應用程序(一個Edtech應用程序),您可以做同樣的事情。 首先,什麼是多租戶SaaS應用程序? 多租戶SaaS應用程序可讓您從唱歌中為多個客戶提供服務


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

Dreamweaver Mac版
視覺化網頁開發工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。