jquery的trigger和triggerHandler区别

首先来说trigger的用法,我们先了解它的定义用法。
trigger() 方法触发被选元素上指定的事件以及事件的默认行为(比如表单提交)。
该方法与 triggerHandler() 方法类似,不同的是 triggerHandler() 不触发事件的默认行为。
比如说

$("form .required:input").trigger("blur");

找到form表单中input自动触发blur事件。
这个用法用的最多的是在表单有个提交按钮的时候,我们可以给他一个trigger方法触发之前blur方法,当然在验证的时候我们是采用添加类名方法,如果错误我们给他加个类名,最后提交的时候来判断长度,如果长度大于0则不能提交。

与 triggerHandler() 方法相比的不同之处:
它不会引起事件(比如表单提交)的默认行为
.trigger() 会操作 jQuery 对象匹配的所有元素,这里就是我们常说的事件冒泡。而 .triggerHandler() 只影响第一个匹配元素。
由 .triggerHandler() 创建的事件不会在 DOM 树中冒泡;如果目标元素不直接处理它们,则不会发生任何事情。

.triggerHandler()简单来说就是只会触发一次,不会出现事件冒泡。
这个方法我个人理解也是在表单验证用法比较多,当我们在用了blur进行了验证,为了达到用户提出的需求,如果输入时就可以提醒,这样就更加即时。需要给表单元素绑定keyup事件和focus事件,keyup事件能在用户每次松开键盘是触发,实现即时提醒,focus事件能在元素得到焦点的时候触发,也可以实现即时提醒。

比如说:

 $("form :input").blur(function(){
      失去焦点验证去处理函数


   // 键盘验证
  }).keyup(function(){
      $(this).triggerHandler("blur");
  }).focus(function(){
      $(this).triggerHandler("blur");
  })
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值