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() {})