为什么把聚焦事件里面的参数event,title去掉,效果还是一样?

来源:7-2 jQuery自定义事件之triggerHandler事件

jazia

2016-10-01 01:39

 <script type="text/javascript">

    //给input绑定一个聚焦事件
    $("input").on("focus",function() {
        $(this).val('聚焦')
    });


    //trigger触发focus
    $("button:first").click(function() {
        $("input").trigger("focus",['触发默认事件']);
    });

     //triggerHandler触发focus
    $("button:last").click(function() {
        $("input").triggerHandler("focus",'没有触发默认事件');
    });



    </script>

trigger("focus",['触发默认事件'])和triggerHandler("focus",'没有触发默认事件')这里面的两个参数是不是都对应着event,title?可是我把input的聚焦事件去掉event,title 结果运行还是一样的

写回答 关注

5回答

  • 慕粉3608757
    2017-04-05 16:20:30

    你自己把value值写死了,写成了聚焦!!!!

  • nutter
    2016-10-13 22:04:42

    首先把错误告你  你看到的结果 “聚焦“是你写在input.val那的 不是传递的参数  那么结果当然也和title和event没啥关系了  --然后要搞清楚 trigger和triggerHandler传两个参数  之后input接受参数  title这个变量会存参  之后在input.val()里写上参数title  就能看到结果了是会变得了~  

  • 花事了了花事花了了
    2016-10-10 10:28:34

    event传递的是事件参数,title传递的是里面显示的文字的参数。如果你删了,第一个button只是让光标聚焦了没有显示文字,所以看不出来效果,点击第二个button就看的出来了

    花事了了花事...

    你换focusin试试

    2016-10-11 19:57:52

    共 3 条回复 >

  • Frank_Yuan
    2016-10-08 15:41:29

    不一样吧,去掉title参数,那个$("input").triggerHandler("focus","没有触发默认聚焦事件"); 不会显示value的。

    jazia

    我试过好几遍了,$("input").on("focus",function() 没有了参数,结果跟有参数的一样。依然会有聚焦两个字显示出来,你试下就知道了

    2016-10-11 16:19:22

    共 1 条回复 >

  • 一路然然
    2016-10-01 14:34:16

    event为默认参数

    jazia

    那title呢

    2016-10-11 16:17:01

    共 1 条回复 >

jQuery基础(三)—事件篇

jQuery第三阶段开启事件修炼,掌握对页面进行交互的操作

89997 学习 · 625 问题

查看课程

相似问题