jQuery 事件

事件就是"用户对页面做了什么":点击、悬停、输入、按键盘……jQuery 把各种事件处理封装成简单方法,让你用 元素.事件(处理函数) 的句式响应操作,是交互开发的核心。

常见事件方法

分类方法触发时机
鼠标click()单击元素
鼠标dblclick()双击元素
鼠标mouseenter()鼠标指针进入元素
鼠标mouseleave()鼠标指针离开元素
鼠标hover()进入/离开各执行一个函数
键盘keydown()按下键盘按键
键盘keyup()松开键盘按键
表单focus()输入框获得焦点
表单blur()输入框失去焦点
表单change()表单值发生改变

常用事件示例

$('#btn').click(function () {
    alert('按钮被单击了');                 // 效果:弹出提示
});

$('#box').hover(
    function () { $(this).css('color', 'red'); },   // 进入时变红
    function () { $(this).css('color', 'black'); }  // 离开时变黑
);

完整示例

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<!-- 引入 jQuery(https://example.com 为占位地址,实际使用时请替换为真实 CDN 或本地文件) -->
<script src="https://example.com/jquery.min.js"></script>
</head>
<body>
<button id="mybtn">单击我</button>
<p id="tip" style="width:200px;background:#eee;padding:10px;">鼠标移到我身上</p>

<script>
$(function () {
    // 单击按钮:弹出提示
    $('#mybtn').click(function () {
        alert('你单击了按钮');
    });
    // 鼠标进入与离开:文字颜色交替变化
    $('#tip').mouseenter(function () {
        $(this).css('background', '#ffe08a');
    });
    $('#tip').mouseleave(function () {
        $(this).css('background', '#eee');
    });
});
</script>
</body>
</html>

效果说明:单击按钮弹出对话框;鼠标进入灰色区域时背景变黄、移出后恢复灰色。

on() 与 off() 动态绑定

click() 这类写法是快捷方法,底层等价于 on('click', fn)。使用 on() 可以一次绑定多个事件,off() 用于解除绑定:

// 一次绑定两个事件
$('#box').on('mouseenter mouseleave', function () {
    $(this).toggleClass('active');
});

// 解除全部事件
$('#box').off();

// 只解除 click 事件
$('#box').off('click');

对动态新增的元素,用 on() 配合委托写法才能让事件生效:$(父容器).on('click', '子元素选择器', fn)

小结

事件方法让你用一句话响应点击、悬停、输入等用户操作;动态元素请用 on() 委托绑定。结合前面的选择器,你已经能做出基本的交互页面了。

笔记加载中…