jQuery基础使用(三)

(个人经验,仅供参考,错误之处,敬请谅解)

事件操作

一、鼠标事件

  1. click() 与dbclick()事件,点击与双击
  2. mousedown() 与 mouseup() 事件, 鼠标单击按下与松开
  3. mouseover() 与 mouseout() 事件,鼠标移进与移出
  4. mousemove() 事件,鼠标移动
  5. mouseenter() 与 mouseleave() 事件,与over、out不同点在于只对绑定的元素有效
  6. hover() 事件 ,enter 与 leave 的结合
  7. focusin() 与 focusout() 事件,得到和失去焦点

二、表单事件

  1. focus() 与 blur() 事件,触发时,父元素产生focusin() 和 focusout() 事件
  2. change() 事件,用于 input、select、textarea元素
  3. select() 事件,只用于select 和textarea 元素
  4. submit() 事件,监听提交,可以return false 阻止提交行为(e.preventDefault)

三、键盘事件

  1. keydown() 与 keyup() 事件,键盘按下与松开
  2. keypress() 事件,只能捕获单个字符,不能捕获组合键,无法响应系统功能键如(delete,backspace)不区分小键盘和主键盘的数字字符

四、事件绑定与解绑

  1. on() 绑定事件

$("#elem").on(‘click’,function(){}) 单事件绑定
$("#elem").on(“mouseover mouseout”,function(){ }); 多事件绑定同一函数
$("#elem").on({mouseover:function(){}, mouseout:function(){} });多事件绑定不同函数
也可以进行委托绑定:
$(‘body’).on(‘click’, ‘a’, function(e) {
alert(e.target.textContent)
})

  1. off() 事件,解除绑定 多事件以空格隔开,不加参数解绑所有事件

五、事件对象

  1. event.target 接受事件的目标元素(不可变,而this可变)
  2. event.type 事件类型
  3. event.pageX event.pageY 获取鼠标当前相对于页面的坐标
  4. event.preventDefault() 阻止默认行为
  5. event.stopPropagation() 阻止事件冒泡
  6. event.which
  7. event.currentTarget 冒泡中当前的元素

六、自定义事件

  1. trigger() 事件,根据绑定到匹配元素的给定的事件类型执行所有的处理程序和行为
    $("button:first").click(function(event,bottonName) {
        bottonName = bottonName || 'first';
        update($("span:first"),$("span:last"),bottonName);
    });

    //通过自定义事件调用,更新次数
    $("button:last").click(function() {
        $("button:first").trigger('click','last');
    });

    function update(first,last,bottonName) {
        first.text(bottonName);
        var n = parseInt(last.text(), 10);
        last.text(n + 1);
    }
  1. triggerHandler() 事件

triggerHandler不会触发浏览器的默认行为,.triggerHandler( “submit” )将不会调用表单上的.submit()

.trigger() 会影响所有与 jQuery 对象相匹配的元素,而 .triggerHandler() 仅影响第一个匹配到的元素

使用 .triggerHandler() 触发的事件,并不会在 DOM 树中向上冒泡。 如果它们不是由目标元素直接触发的,那么它就不会进行任何处理

与普通的方法返回 jQuery 对象(这样就能够使用链式用法)相反,.triggerHandler() 返回最后一个处理的事件的返回值。如果没有触发任何事件,会返回 undefined

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值