问答详情
源自:7-2 jQuery自定义事件之triggerHandler事件

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

 <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 结果运行还是一样的

提问者:jazia 2016-10-01 01:39

个回答

  • 慕粉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就看的出来了

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

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

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

    event为默认参数