1.什么是事件?
頁面對不同訪問者的響應叫做事件。
事件處理程序指的是當 HTML 中發生某些事件時所調用的方法。
2. 鼠標事件
1).click事件(鼠標單擊事件)
語法:
$(selector).click(function(){});
2).dblclick事件(鼠標雙擊事件)
語法:
$(selector).dblclick(function(){})
<body>
<button>你點我試試?</button>
<script src="jquery.js"><script>
<script>
$(function() {
$('button').click(function() {
console.log('觸發了單擊事件')
})
$('button').dblclick(function() {
console.log('觸發了雙擊事件')
})
})
</script>
</body>
3).mouseenter事件(鼠標移入事件)
當鼠標移入所選(目標)元素時觸發的事件
語法:
$(selector).mouseenter(function() {})
4).mouseleave事件(鼠標移出事件)
當鼠標移出所選(目標)元素時觸發的事件
語法:
$(selector).mouseleave(function() {})
5).hover事件(鼠標經過事件)
該事件將會觸發移入和移出兩個事件
這個事件需傳遞兩個參數,第一個參數類型為匿名函數,這個函數執行鼠標移入事件,第二個參數類型也為匿名函數,這個函數執行鼠標移出事件。如果只傳入一個參數,那么鼠標移入和移出的時候都執行這個函數。
語法1:
兩個參數,移入和移出分別都有對應函數執行
$(selector).hover(function() {// 鼠標移入}, function() {// 鼠標移出})
一個參數,移入和移出執行同一個函數
$(selector).hover(function(){// 鼠標移入和移出})
$(function() {
// 鼠標移入事件
$('p').mouseenter(function() {
$(this).css('color', 'red') // 將p元素的文字顏色改為紅色
})
// 鼠標移出事件
$('p').mouseenter(function() {
$(this).css('color', 'black') // 將p元素的文字顏色改為黑色
})
// 鼠標經過事件
$('p').hover(function() {
// 鼠標移入時執行
$(this).css('color', 'red') // 將p元素的文字顏色改為紅色
}, function() {
// 鼠標移出時執行
$(this).css('color', 'black') // 將p元素的文字顏色改為黑色
})
$('p').hover(function() {
// 鼠標移入移出時都執行
$(this).css('color', 'red') // 將p元素的文字顏色改為紅色
}
})
3.鍵盤事件
與鍵盤事件相關事件的事件順序:
keydown
=>
keypress
=>
keyup
1). keydown事件(按鍵被按下的過程)
當鍵盤按鍵在被按下的過程中觸發
語法:
$(selector).keydown(function() {})
2). keypress事件(按鍵被按下)
當鍵盤按鍵被按下時觸發
語法:
$(selector).keypress(function() {})
3). keyup事件(按鍵被松開)
當鍵盤按鍵被松開時觸發
語法:
$(selector).keyup(function() {})
$(function() {
$('input[type=text]').keypress(function() {
console.log('keypress事件被觸發!')
})
$('input[type=text]').keydown(function() {
console.log('keydown事件被觸發!')
})
$('input[type=text]').keyup(function() {
console.log('keyup事件被觸發!')
})
})
$練習$
- 請實現一個按鍵計數功能。
- 實現步驟:
- 在頁面內放置一個input輸入框并在輸入框后放置一個p標簽,
- input輸入框用于輸入文字,p標簽用于顯示按鍵次數
- 監聽input的按鍵被按下事件,定義一個全局變量,每次觸發事件對變量進行自增操作,然后將自增后的值通過DOM操作填充到p標簽中。
4. 表單事件
1). submit事件(表單提交事件)
當表單發生提交動作時將會觸發該事件
語法:
$(selector).submit(function() {})