当前位置: 首页 > news >正文

jQuery自动触发事件

转自:https://blog.csdn.net/CY_LH/article/details/78982218

常用模拟

有时候,需要通过模拟用户操作,来达到单击的效果。例如在用户进入页面后,就触发click事件,而不需要用户去主动单击。

在JQuery中,可以使用trigger()方法完成模拟操作。例如可以使用下面的代码来触发id为btn的按钮的click事件。

1$('#btn').trigger("click");

这样,当页面加载完毕后,就会立刻输出想要的效果。也可以直接简写click(),来达到同样的效果:

1$('#btn').click();

触发自定义事件

trigger()方法不仅能触发浏览器支持的具有相同名称的事件,也可以触发自定义名称的事件。例如为元素绑定一个“myClick”的事件,JQuery代码如下:

1$('#btn').bind("myClick"function(){  
2     $('#test').append("<p>我的自定义事件.</p>");  
3 });

想要触发这个事件,可以使用以下代码来实现:

1$('#btn').trigger("myClick");

传递数据

trigger(type[,data])方法有两个参数,第1个参数是要触发的事件类型,第2个参数是要传递给事件处理函数的附加数据,以数组形式传递。通常可以通过传递一个参数给回调函数来区别这次事件是代码触发的还是用户触发的。

下面是一个传递数据的例子。

1$(function(){  
2   $('#btn').bind("myClick"function(event, message1, message2){  
3                 $('#test').append( "<p>"+message1 + message2 +"</p>");  
4    });  
5   $('#btn').click(function(){  
6        $(this).trigger("myClick",["我的自定义","事件"]);  
7   }).trigger("myClick",["我的自定义","事件"]);  
8})

执行默认操作

trigger()方法触发事件后,会执行浏览器默认操作。例如:

1$("input").trigger("focus");

以上代码不仅会触发为<input>元素绑定的focus事件,也会使<input>元素本身得到焦点(这是浏览器的默认操作)。

如果只想触发绑定的focus事件,而不想执行浏览器默认操作,可以使用jQuery中另一个类似的方法——triggerHandler()方法。

1$("input").triggerHandler("focus");

该方法会触发<input>元素上绑定的特定事件,同时取消浏览器对此事件的默认操作,即文本框只触发绑定的focus事件,不会得到焦点。

转载于:https://www.cnblogs.com/sharpest/p/5692399.html

相关文章:

  • windows bat脚本编写
  • Freemarker 浅析
  • [转] C#实现在Sql Server中存储和读取Word文件 (Not Correct Modified)
  • 终极解决方案:windows10开机黑屏,死机
  • C#打印条码BarTender SDK打印之路和离开之路(web平凡之路)
  • 规范化安全开发 KOA 手脚架
  • mysql开启/关闭 update delete 安全模式
  • Bzoj1007 水平可见直线
  • NGINX与APACHE工作模式的区别
  • thymeleaf th:attr标签
  • linux基础(7)-IO重定向
  • 【Xcode command line】命令行工具
  • sql 语句中 idlt ;SELECT * FROM t_blog WHERE idlt;#{id} ORDER BY id DESC LIMIT 1
  • I/O多路转接之select
  • 【Qt笔记】绘制设备
  • 5、React组件事件详解
  • JS+CSS实现数字滚动
  • laravel with 查询列表限制条数
  • Linux CTF 逆向入门
  • Otto开发初探——微服务依赖管理新利器
  • PHP的类修饰符与访问修饰符
  • python 装饰器(一)
  • Service Worker
  • Yeoman_Bower_Grunt
  • 订阅Forge Viewer所有的事件
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 老板让我十分钟上手nx-admin
  • 手写双向链表LinkedList的几个常用功能
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • No resource identifier found for attribute,RxJava之zip操作符
  • 【干货分享】dos命令大全
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • #ifdef 的技巧用法
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • ${factoryList }后面有空格不影响
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (层次遍历)104. 二叉树的最大深度
  • (附源码)php投票系统 毕业设计 121500
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • (转)树状数组
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • ******之网络***——物理***
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .Mobi域名介绍
  • .Net MVC4 上传大文件,并保存表单
  • .net wcf memory gates checking failed
  • .NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
  • .NET企业级应用架构设计系列之技术选型
  • ??eclipse的安装配置问题!??