常用事件与jQuery事件方法

本文全面解析jQuery中的各种事件,包括鼠标事件、键盘事件、表单事件等,详细介绍了事件的触发条件、事件对象的属性和方法,以及如何使用jQuery进行事件绑定、解绑和触发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

常用事件与jQuery事件方法

鼠标事件
  • click: 鼠标左键单击触发
  • dblclick: 鼠标左键双击触发
  • mouseenter: 鼠标移入元素范围内触发
  • mouseleave: 鼠标移出元素范围内触发
  • mouseover: 鼠标移动到元素上(包括从子元素上移动回来)触发
  • mousemove: 鼠标在元素上移动触发
  • mouseout: 鼠标离开元素(包括移动到子元素上)触发
  • mousedown: 鼠标键按下触发
  • mouseup: 鼠标键松开触发
  • hover: 鼠标悬浮(移入,移出)触发(传递2个事件处理函数)
    $('a').hover(function() {
        console.log('来');
    }, function() {
        console.log('去');
    });
    
键盘事件
表单(元素)事件
  • submit: 表单提交前触发(可阻止提交)
  • change: 表单元素内容改变触发
    • 文本框输入变化监听,失去焦点时才会触发
  • focus: 元素获得焦点触发
  • blur: 元素失去焦点触发
文档/窗口事件
  • resize: 浏览器窗口大小改变触发
    $(window).resize(function(event) {
        var win_w = $(window).width();
        var win_h = $(window).height();
        console.log('window(w,h):', win_w, win_h);
    });
    
  • scroll: 有滚动条的元素或文档滚动触发
    $(window).scroll(function(event) {
        var scroll_left = $(window).scrollLeft();
        var scroll_top = $(window).scrollTop();
        console.log('scroll(x,y):', scroll_left, scroll_top);
    });
    
  • ready: 页面资源加载完成触发

其他事件

  • contextmenu: 右键(鼠标触发,或存在焦点时,键盘触发)触发
    $(document.body).contextmenu(function(event) {
        event.preventDefault();
        console.log('阻止了右键菜单');
    });
    

jQuery事件绑定/解绑/触发定函数

事件对象-方法、属性


特别说明

  • 事件触发时,所有的事件处理函数的第一个参数,是event, 由浏览器自动传递
  • event对象的target属性,是触发事件的DOM元素
    • DOM元素转成jQuery对象
      var $elem = $(event.target);
      
  • 事件处理函数中, this是事件的绑定者(DOM元素)
    • DOM元素转成jQuery对象
      var $self = $(this);
      
  • 鼠标事件,event对象属性
    • pageXpageY: 相对于文档(页面左上角)
    • clientXclientY: 相对于浏览器视口(浏览器可视区域左上角)
    • screenXscreenY: 相对于屏幕(屏幕左上角)
    • offsetXoffsetX:相对于元素(元素左上角)(如果元素有border, 可能为负数)
    $('#page').mousemove(function(event) {
        console.log('page(x, y): ', event.pageX, event.pageY);
        console.log('client(x, y): ', event.clientX, event.clientY);
        console.log('screen(x, y): ', event.screenX, event.screenY);
        console.log('offset(x, y): ', event.offsetX, event.offsetY);
        console.log('----------------------------');
    });
    
  • 键盘事件,event对象属性
    • shiftKey: 是否按下了Shift键(truefalse
    • altKey: 是否按下了Alt键(truefalse
    • ctrlKey: 是否按下了Ctrl键(truefalse
    • metaKey: 是否按下了Meta键(Windows上是徽标键,Mac上的Command键)(truefalse
    • key: 按下的键的名称(字符串)
    • keyCodewhich: 按下的键的键盘码(整数)
      • 特殊键盘码:
        • 8: 退格(Backspace)
        • 9: Tab
        • 13: 回车
        • 27: ESC
        • 32: 空格
        • 33: 翻页-上
        • 34: 翻页-下
        • 35: End
        • 36: Home
        • 37: 方向-左
        • 38: 方向-上
        • 39: 方向-右
        • 40: 方向-下
        • 46: 删除(Delete)
        • 122: F11
        • 123: F12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值