看本篇文章之前建议先看这篇:Mr.J-- jQuery学习笔记(九)--事件绑定&移除&冒泡

也可以看我的专栏:Mr.J--jQuery学习

定义和用法

trigger() 方法触发被选元素的指定事件类型。

触发事件

规定被选元素要触发的事件。

语法

$(selector).trigger(event,[param1,param2,...])
参数 描述
event

必需。规定指定元素要触发的事件。

可以使自定义事件(使用 bind() 函数来附加),或者任何标准事件。

[param1,param2,...]

可选。传递到事件处理程序的额外参数。

额外的参数对自定义事件特别有用。

页面渲染

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title></title><style>*{margin: 0;padding: 0;}.father{width: 200px;height: 200px;background: red;}.son{width: 100px;height: 100px;background: blue;}</style><script src="js/jquery-1.12.4.js"></script>
</head>
<body>
<div class="father"><div class="son"></div>
</div>
<a href="http://www.baidu.com"><span>注册</span></a>
<form action="https://blog.csdn.net/Ms_yjk/article/details/91436375"><input type="text"><input type="submit">
</form>
</body>
</html>

1.事件冒泡

$(".son").click(function (event) {alert("son");});$(".father").click(function () {alert("father");});//  $(".father").trigger("click");$(".father").triggerHandler("click");

trigger: 如果利用trigger自动触发事件,会触发事件冒泡
triggerHandler: 如果利用triggerHandler自动触发事件, 不会触发事件冒泡

当进行 $(".father").triggerHandler("click") 时,点击father div只会出现:

但是进行 $(".father").trigger("click") 时 会进行两次输出:

同理:

$(".son").trigger("click");
$(".son").triggerHandler("click");

上述代码结果应该很快就能知道。

2.默认事件

$("input[type='submit']").trigger("click");

当运行这段代码的时候,会直接弹窗进入:

 $("input[type='submit']").triggerHandler("click");

本段代码运行结果:

点击a标签之后才会进行页面的跳转,阻止了默认事件的发生。

trigger: 如果利用trigger自动触发事件,会触发默认行为
triggerHandler: 如果利用triggerHandler自动触发事件, 不会触发默认行为

3.自定义事件

使用 Event 对象来触发事件

规定使用事件对象的被选元素要触发的事件。

语法

$(selector).trigger(eventObj)
参数 描述
eventObj 必需。规定事件发生时运行的函数。

自定义事件, 必须满足两个条件
1.事件必须是通过on绑定的
2.事件必须通过trigger来触发

demo实例:

$(".son").on("myClick", function () {alert("son");
});
$(".son").triggerHandler("myClick");

运行代码:

4.事件命名空间

            $(".son").on("click.zs", function () {alert("click1");});$(".son").on("click.ls", function () {alert("click2");});$(".son").trigger("click.ls");

想要事件的命名空间有效,必须满足两个条件
1.事件是通过on来绑定的
2.通过trigger触发事件

上述demo运行结果:

通过更改trigger()里面的参数,可以调用已经定义的事件

5.trigger()面试题

            $(".father").on("click.ls", function () {alert("father click1");});$(".father").on("click", function () {alert("father click2");});$(".son").on("click.ls", function () {alert("son click1");});

(1).demo

$(".son").trigger("click.ls");

运行结果:

利用trigger触发子元素带命名空间的事件, 那么父元素带相同命名空间的事件也会被触发. 而父元素没有命名空间的事件不会被触发

(2).Other demo

$(".son").trigger("click");

运行结果:

利用trigger触发子元素不带命名空间的事件,那么子元素所有相同类型的事件和父元素所有相同类型的事件都会被触发

Mr.J-- jQuery学习笔记(十)--trigger方法详解相关推荐

  1. Laravel学习笔记汇总——Collection方法详解

    ## Laravel学习笔记汇总--Collection方法详解 本文参考:https:// laravel.com/docs/8.x/collections // 返回整个底层的数组 collect ...

  2. java 检查bytebuf长度_Java学习笔记16-Netty缓冲区ByteBuf详解

    Java学习笔记16-Netty缓冲区ByteBuf详解 Netty自己的ByteBuf ByteBuf是为解决ByteBuffer的问题和满足网络应用程序开发人员的日常需求而设计的. JDK Byt ...

  3. spring学习笔记03-spring-DI-依赖注入详解(通过xml配置文件来配置依赖注入)

    spring学习笔记03-spring-DI-依赖注入详解 1.概念 2.构造函数注入 3.set方法注入 4.集合的注入 需要被注入的实体对象 package com.itheima.service ...

  4. 【学习笔记】线段树详解(全)

    [学习笔记]线段树详解(全) 和三个同学一起搞了接近两个月的线段树,头都要炸了T_T,趁心态尚未凉之前赶快把东西记下来... [目录] [基础]作者:\((Silent\)_\(EAG)\) [懒标记 ...

  5. 好程序员Java学习路线分享finalize()方法详解

    好程序员Java学习路线分享finalize()方法详解,前言,finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作,GC在回收对象之前调用该方法.. fi ...

  6. [原创]Saltstack学习笔记:命令参数详解以及配置文件说明

    很久没有更新saltstack的文章了,今天还是来更新一点,又开始对saltstack复习了一下. 前边写了一点<saltstack入门概述(1)>以及<Saltstack如何安装( ...

  7. [读书笔记]C#学习笔记三: C#类型详解..

    前言 这次分享的主要内容有五个, 分别是值类型和引用类型, 装箱与拆箱,常量与变量,运算符重载,static字段和static构造函数. 后期的分享会针对于C#2.0 3.0 4.0 等新特性进行. ...

  8. IOS学习笔记——ViewController生命周期详解

    在我之前的学习笔记中讨论过ViewController,过了这么久,对它也有了新的认识和体会,ViewController是我们在开发过程中碰到最多的朋友,今天就来好好认识一下它.ViewContro ...

  9. Android学习笔记——Android 签名机制详解

    Android 签名机制详解 近期由于工作需要在学习 Android 的签名机制,因为没有现成资料,只能通过开发者文档和阅读博客的方式对 Android 签名机制进行大致了解.过程中查阅到的资料相对零 ...

最新文章

  1. 将PDF文件拆分成多个文件的教程
  2. 盘丝洞服务器维护,9月27日“盘丝洞”等服务器停机更新
  3. VC2019消息框编程总结
  4. 机器人简化图画手绘图_高通推出全新RB3 机器人平台,年内支持5G连接
  5. linux开启telnet服务
  6. 职场有影帝出没,屌丝们请当心!
  7. python用matplotlib画图时将标签竖着显示
  8. 推荐背单词最有效的方法:使用艾宾浩斯记忆曲线背单词
  9. 使用 kotlin 开发 android 遇到的问题
  10. Flash游戏开发必备书籍
  11. SQL SERVER对象名无效/执行成功但有错误(初学者易犯错误)
  12. 如何在Jetson NANO上安装无线WIFI模块
  13. C语言复习——文件操作以及各种输入输出
  14. 服务器上的系统盘和数据盘,云服务器系统盘和数据盘区别
  15. Android 隐私合规API检查方案
  16. 信息网络传播中的服务器标准,信息网络传播行为的界定标准研究
  17. MBA形式逻辑四大基本考点
  18. FCC Truncate a string 解决方法
  19. AI:神经网络IMDB电影评论二分类模型训练和评估
  20. QQ全系列官方下载地址

热门文章

  1. ResNet及其变种的结构梳理、有效性分析与代码解读(PyTorch)
  2. [CV招聘]中科院空间应用工程与技术中心2019年校园招聘
  3. DeepMindVGG提出基于集合的人脸识别算法GhostVLAD,精度远超IJB-B数据集state-of-the-art...
  4. 【深度学习系列】——神经网络的可视化解释
  5. 玩家在RTX 3090显卡中发现了指套
  6. 大数据预测实战-随机森林预测实战(三)-数据与特征对模型的影响
  7. 这就是数据分析之算法认知
  8. rbf核函数_高斯过程回归础(使用GPy和模拟函数数据集)
  9. 新版手机浏览器_夸克浏览器发布全新3.0版,AI技术创新智能化信息服务
  10. concat特征融合_如何理解concat和add的方式融合特征