jQuery 事件笔记
jQuery 是为事件处理特别设计的。
如果网站包含许多页面,并且希望 jQuery 函数易于维护,那么请把 jQuery 函数放到独立的 .js 文件中。
鼠标事件
mouseenter
mouseenter为鼠标移入事件:
// 当鼠标指针进入 <p> 元素时,设置背景色为黄色:
$("p").mouseenter(function(){
$("p").css("background-color","yellow");
})
下图为鼠标移入时的效果图:
与之对应的事件是mouseleave 事件,鼠标移出事件。
hover
hover() 方法规定当鼠标指针悬停在被选元素上时,要运行的两个事件:mouseenter 和 mouseleave 事件。
也就是说hover() 方法包含mouseenter 和 mouseleave 事件,当鼠标在元素上时响应mouseenter事件,而离开时mouseleave 事件。
与单个mouseenter事件不同之处在于,mouseenter 鼠标只要进入了一次,元素就被改变,在上个例子中即为背景变为黄色,鼠标移出时元素仍保持黄色。
而hover() 方法相当于以下代码:
// 同时有两个事件
$(document).ready(function(){
$("p").mouseenter(function(){
$("p").css("background-color","yellow");
});
$("p").mouseleave(function(){
$("p").css("background-color","lightgray");
});
});
键盘事件
与 keyup 事件相关的事件顺序:
keydown - 键按下的过程
keypress - 键被按下
keyup - 键被松开
//计算在 <input> 字段内的按键次数:
$("input").keypress(function(){
$("span").text(i+=1);
});
完整代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
<script>
i=0;
$(document).ready(function(){
$("input").keypress(function(){
$("span").text(i+=1);
});
});
</script>
</head>
<body>
输入你的名字: <input type="text">
<p>按键的次数: <span>0</span></p>
</body>
</html>
keypress 事件与 keydown 事件类似。当按钮被按下时发生该事件。
然而,keypress 事件不会触发所有的键(比如 ALT、CTRL、SHIFT、ESC)。
keydown 事件则会触发上述的键(比如 ALT、CTRL、SHIFT、ESC)。
表单事件
当 input 字段失去焦点时发生 blur 事件
focus() 方法相反,是获得焦点。
文档/窗口事件
unload事件
当图像全部加载时警报文本:
$("img").load(function(){
alert("图片已载入");
});
load事件
当离开页面时,显示提示消息:
$(window).unload(function(){
alert("Goodbye!");
});
resize事件
浏览器重置窗口大小
以上部分知识点和代码实例转自菜鸟教程(非常好的教程)