登录  /  注册
首页 > web前端 > js教程 > 正文

JQuery通过简单示例比较trigger()与triggerHandler()的区别

巴扎黑
发布: 2017-06-25 13:31:34
原创
1141人浏览过

在制作网页特效时,我们有时会需要使用到模拟操作,即模拟人工手动操作。这时,我们会想到jquery中的模拟操作方法trigger()和triggerhandler()这2个方法。这2个方法都能够简单实现模拟人工手动操作,那么它们有什么区别呢?下面,我们就通过一个简单案例来介绍一下它们的区别,这个案例效果:刷新页面,就会自动模拟点击按钮效果,弹出提示。

首先,新建一个页面,在页面中添加如下html代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>无标题文档</title>
<style>
*{padding:0; margin:0;}
.hi{background:red;width:100px;height:100px; position:relative;}
</style>
<script type="text/javascript" src="/a/js/jquery-1.10.1.js"></script>
<script type="text/javascript">
</script>
</head>
<body>
<div class="hi">
<form action="http://wanlimm.com" >
<input type="submit" value="aaa" />
<input type="submit" value="bbb" />
</form>
</div>
</body>
</html>
登录后复制

这段HTML代码的表单,有2个按钮,它们的值分别是“aaa”和“bbb”,现在点击这2个按钮中的任意一个,都会都得到http://wanlimm.com页面。

然后,在之间添加发下 JS 代码:

$(function(){
$(":submit").click(function(e){
alert($(this).val());
}).trigger(&#39;click&#39;);
});
登录后复制

这里,我们用到的trigger方法,刷新这个页面,会有2次弹窗,分别显示“aaa”和“bbb”,然后会自动使用表单行为自动跳转到http://wanlimm.com这个页面。

如果把trigger换成triggerHandler ,就只会有1次弹窗,而且屏蔽表单行为,不会自动跳转到http://wanlimm.com页面。

我们再把html代码中的标蓝的form代码去掉,然后,再在JS代码中连缀方法CSS,如下:

$(function(){
$(":submit").click(function(e){
alert($(this).val());
}).trigger(&#39;click&#39;).css(&#39;color&#39;,&#39;red&#39;);
});
登录后复制

我们刷新页面时,2次弹窗后,按钮中的文字会变成红色。但是,如果把 trigger 改成 triggerHandler 后,刷新页面后,只会1次弹窗,而不会文字变红。

综上总结 trigger 与 triggerHandler 的区别:

1、triggerHandler()方法并不会触发事件的默认行为,而trigger()会。

2、triggerHandler()方法只会影响第一个匹配到的元素,而.trigger()会影响所有。

3、triggerHandler()方法不能连缀其它方法,因为它返回的是当前事件执行的返回值,而不是对象;trigger()可以连缀其它方法,因为它返回当前包含事件触发元素的 jQuery 对象。

4、triggerHandler()在创建事件的时候,不会冒泡。trigger()会冒泡,但这种冒泡是自定义事件才能体现出来。

以上就是JQuery通过简单示例比较trigger()与triggerHandler()的区别的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号