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 事件 参考。