jQuery 事件方法
jQuery 是为响应 HTML 页面中的事件而定制的。
什么是事件?
一个网页可以响应的所有不同访问者的行为都被称为事件。
一个事件代表某件事发生的确切时刻。
实例:
- 在元素上移动鼠标
- 选择单选按钮
- 点击一个元素
术语 "触发/被触发" 通常用于事件。实例:"按键事件在您按键时被触发"。
下面是一些常见的 DOM 事件:
| 鼠标事件 | 键盘事件 | 表单事件 | 文档/窗体事件 |
|---|---|---|---|
| click | keypress | submit | load |
| dblclick | keydown | change | resize |
| mouseenter | keyup | focus | scroll |
| mouseleave | blur | unload |
事件的 jQuery 语法
在 jQuery 中,大多数 DOM 事件都有一个对应的 jQuery 方法。
要将单击事件分配给页面上的所有段落,可以执行以下操作:
$("p").click();
下一步是定义事件触发时应该发生什么。必须向事件传递函数:
$("p").click(function(){// 这里放操作代码!!});
常用的 jQuery 事件方法
$(document).ready()
$(document).ready() 方法让我们可以在文档完全加载时执行函数。jQuery 语法 一章已经解释了这个事件。
click()
click() 方法将事件处理程序函数附加到 HTML 元素。
该函数在用户单击 HTML 元素时执行。
下面的例子是这样的:当点击事件在 <p> 元素上触发时;隐藏当前 <p> 元素:
实例
<!DOCTYPE html><html><head><script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script><script>$(document).ready(function(){$("p").click(function(){$(this).hide();});});</script></head><body><p>点击这里,这里会消失</p><p>点击这里也是!</p></body></html>
dblclick()
dblclick() 方法将事件处理程序函数附加到 HTML 元素。
该函数在用户双击 HTML 元素时执行:
实例
<!DOCTYPE html><html><head><script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script><script>$(document).ready(function(){$("p").dblclick(function(){$(this).hide();});});</script></head><body><p>双击这里,这里会消失</p><p>双击这里也是!</p></body></html>
mouseenter()
mouseenter() 方法将事件处理程序函数附加到 HTML 元素。
该函数在鼠标指针进入 HTML 元素时执行:
实例
<!DOCTYPE html><html><head><script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script><script>$(document).ready(function(){$("#p1").mouseenter(function(){alert("你已进入 p1!");});});</script></head><body><p id="p1">鼠标进入这个段落</p></body></html>
mouseleave()
mouseleave() 方法将事件处理程序函数附加到 HTML 元素。
该函数在鼠标指针离开 HTML 元素时执行:
实例
<!DOCTYPE html><html><head><script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script><script>$(document).ready(function(){$("#p1").mouseleave(function(){alert("拜! 你已经离开 p1!");});});</script></head><body><p id="p1">这是段落 1</p></body></html>
mousedown()
mousedown() 方法将事件处理程序函数附加到 HTML 元素。
当鼠标位于 HTML 元素上时,按下鼠标左键、中键或右键,就会执行该函数:
实例
<!DOCTYPE html><html><head><script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script><script>$(document).ready(function(){$("#p1").mousedown(function(){alert("在 p1 上点击鼠标!");});});</script></head><body><p id="p1">这是一个段落</p></body></html>
mouseup()
mouseup() 方法将事件处理程序函数附加到HTML元素。
当鼠标位于 HTML 元素上时,释放鼠标左键、中键或右键,就会执行该函数:
实例
<!DOCTYPE html><html><head><script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script><script>$(document).ready(function(){$("#p1").mouseup(function(){alert("在 p1 上释放鼠标左键!");});});</script></head><body><p id="p1">这是一个段落</p></body></html>
hover()
hover() 方法相当于两个函数, mouseenter() 和 mouseleave() 方法的组合。
第一个函数在鼠标进入 HTML 元素时执行,第二个函数在鼠标离开 HTML 元素时执行:
实例
<!DOCTYPE html><html><head><script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script><script>$(document).ready(function(){$("#p1").hover(function(){alert("你已进入 p1!");},function(){alert("拜! 你已经离开 p1!");});});</script></head><body><p id="p1">这是一个段落</p></body></html>
focus()
focus() 方法将事件处理程序函数附加到 HTML 单字段。
该函数在表单字段获得焦点时执行:
实例
<!DOCTYPE html><html><head><script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script><script>$(document).ready(function(){$("input").focus(function(){$(this).css("background-color", "yellow");});$("input").blur(function(){$(this).css("background-color", "green");});});</script></head><body>Name: <input type="text" name="fullname"><br>Email: <input type="text" name="email"></body></html>
blur()
blur() 方法将事件处理程序函数附加到 HTML 表单字段。
该函数在表单字段失去焦点时执行:
实例
<!DOCTYPE html><html><head><script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script><script>$(document).ready(function(){$("input").focus(function(){$(this).css("background-color", "yellow");});$("input").blur(function(){$(this).css("background-color", "green");});});</script></head><body>Name: <input type="text" name="fullname"><br>Email: <input type="text" name="email"></body></html>
on() 方法
on() 方法为所选元素附加一个或多个事件处理程序。
将单击事件附加到 <p> 元素:
实例
<!DOCTYPE html><html><head><script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script><script>$(document).ready(function(){$("p").on("click", function(){$(this).hide();});});</script></head><body><p>如果你点击这里,这里将消失</p><p>点击这里也是!</p></body></html>
将多个事件处理程序附加到 <p> 元素:
实例
<!DOCTYPE html><html><head><script src="https://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script><script>$(document).ready(function(){$("p").on({mouseenter: function(){$(this).css("background-color", "lightgray");},mouseleave: function(){$(this).css("background-color", "lightblue");},click: function(){$(this).css("background-color", "yellow");}});});</script></head><body><p>在该段落上单击或移动鼠标指针</p></body></html>
jQuery 事件方法
有关完整的 jQuery 事件参考,请转到本站的 jQuery 事件 参考。