triggerHandler和trigger的区别是什么?

triggerHandler和trigger的区别是什么?

triggerHandler和trigger的区别是什么?

正在回答

登陆购买课程后可参与讨论,去登陆

4回答

同学你好,其实就是是否向上冒泡的问题,若是冒泡就可以触发每一个匹配的元素某类事件,若是不冒泡则只执行指定的事件类型上所有绑定。可以结合如下例子来理解:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <button id="but1">first button</button>
    <div id="main">
        <button id="two">2 button</button>
    </div>
    <script src="http://code.jquery.com/jquery-1.10.2.js"></script>
    <script>
    $('#but1').bind('click', function() {
        $("#two").trigger("click"); // 触发了two的点击事件之后,事件可以向上冒泡,main的事件也触发了
        // $("#two").triggerHandler("click"); //触发了two的点击事件之后,不发生事件冒泡,没有其他事件执行
    });
    $('#main').click(function(event) {
        console.log("触发了main的点击事件")
    });
    $('#two').click(function(event) {
        console.log("触发了two的点击事件")
    });
    </script>
</body>
</html>

trigger是可以冒泡,所以父级main的同类事件也被执行了。

triggerHandler不发生事件冒泡,只触发了自己的。

祝学习愉快~

好帮手慕糖 2020-04-10 19:31:32

同学你好,关于你的问题,回答如下:

1、trigger():在每一个匹配的元素上触发某类事件。

triggerHandler():这个特别的方法将会触发指定的事件类型上所有绑定的处理函数。

2、不是的,e是事件源对象,就是触发这些事件的时候,会有一个event对象,该对象上有一些方法,可以输出查看下。

祝学习愉快~


  • 提问者 陈立天 #1
    老师回复的第一点 感觉有点笼统 能否举个例子吗?
    2020-04-10 19:46:09
提问者 陈立天 2020-04-10 17:49:05

http://img1.sycdn.imooc.com//climg/5e90410509f41f3011930773.jpg

是不是这样接收的?

提问者 陈立天 2020-04-10 17:36:41

http://img1.sycdn.imooc.com//climg/5e903e1509b210e715010456.jpg

这里函数的e是什么东西 从哪里传过来的?

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师