JavaScript 事件是由訪問Web 頁面的用戶引發的一系列操做,例如:用戶點擊。當用戶瀏覽器
- //在HTML 中把事件處理函數做爲屬性執行JS 代碼
- <input type="button" value="按鈕" onclick="alert('Lee');" /> //注意單雙引號
- //在HTML 中把事件處理函數做爲屬性執行JS 函數
- <input type="button" value="按鈕" onclick="box();" /> //執行JS 的函數
PS:函數不得放到window.onload 裏面,這樣就看不見了。服務器
三.腳本模型
因爲內聯模型違反了HTML 與JavaScript 代碼層次分離的原則。爲了解決這個問題,我
們能夠在JavaScript 中處理事件。這種處理方式就是腳本模型。框架
- var input = document.getElementsByTagName('input')[0]; //獲得input 對象
- input.onclick = function () { //匿名函數執行
- alert('Lee');
- };
PS:經過匿名函數,能夠直接觸發對應的代碼。也能夠經過指定的函數名賦值的方式
來執行函數(賦值的函數名不要跟着括號)。ide
- input.onclick = box; //把函數名賦值給事件處理函數
四.事件處理函數
JavaScript 能夠處理的事件類型爲:鼠標事件、鍵盤事件、HTML 事件。函數
PS:全部的事件處理函數都會都有兩個部分組成,on + 事件名稱,例如click 事件的事
件處理函數就是:onclick。在這裏,咱們主要談論腳本模型的方式來構建事件,違反分離原
則的內聯模式,咱們忽略掉。spa
對於每個事件,它都有本身的觸發範圍和方式,若是超出了觸發範圍和方式,事件處
理將失效。指針
1.鼠標事件,頁面全部元素均可觸發
orm
- //click:當用戶單擊鼠標按鈕或按下回車鍵時觸發。
- input.onclick = function () {
- alert('Lee');
- };
- //dblclick:當用戶雙擊主鼠標按鈕時觸發。
- input.ondblclick = function () {
- alert('Lee');
- };
- //mousedown:當用戶按下了鼠標還未彈起時觸發。
- input.onmousedown = function () {
- alert('Lee');
- };
- //mouseup:當用戶釋放鼠標按鈕時觸發。
- input.onmouseup = function () {
- alert('Lee');
- };
- //mouseover:當鼠標移到某個元素上方時觸發。
- input.onmouseover = function () {
- alert('Lee');
- };
- //mouseout:當鼠標移出某個元素上方時觸發。
- input.onmouseout = function () {
- alert('Lee');
- };
- //mousemove:當鼠標指針在元素上移動時觸發。
- input.onmousemove = function () {
- alert('Lee');
- };
2.鍵盤事件對象
- //keydown:當用戶按下鍵盤上任意鍵觸發,若是按住不放,會重複觸發。
- onkeydown = function () {
- alert('Lee');
- };
- //keypress:當用戶按下鍵盤上的字符鍵觸發,若是按住不放,會重複觸發。
- onkeypress = function () {
- alert('Lee');
- };
- //keyup:當用戶釋放鍵盤上的鍵觸發。
- onkeyup = function () {
- alert('Lee');
- };
3.HTML 事件blog
- //load:當頁面徹底加載後在window 上面觸發,或當框架集加載完畢後在框架集上觸發。
- window.onload = function () {
- alert('Lee');
- };
- //unload:當頁面徹底卸載後在window 上面觸發,或當框架集卸載後在框架集上觸發。
- window.onunload = function () {
- alert('Lee');
- };
- //select:當用戶選擇文本框(input 或textarea)中的一個或多個字符觸發。
- input.onselect = function () {
- alert('Lee');
- };
- //change:當文本框(input 或textarea)內容改變且失去焦點後觸發。
- input.onchange = function () {
- alert('Lee');
- };
- //focus:當頁面或者元素得到焦點時在window 及相關元素上面觸發。
- input.onfocus = function () {
- alert('Lee');
- };
- //blur:當頁面或元素失去焦點時在window 及相關元素上觸發。
- input.onblur = function () {
- alert('Lee');
- };
- //submit:當用戶點擊提交按鈕在<form>元素上觸發。
- form.onsubmit = function () {
- alert('Lee');
- };
- //reset:當用戶點擊重置按鈕在<form>元素上觸發。
- form.onreset= function () {
- alert('Lee');
- };
- //resize:當窗口或框架的大小變化時在window 或框架上觸發。
- window.onresize = function () {
- alert('Lee');
- };
- //scroll:當用戶滾動帶滾動條的元素時觸發。
- window.onscroll = function () {
- alert('Lee');
- };