$("input").trigger("focus");这个trigger里没有带数据为什么最后显示的也是"trigger触发的事件会在 DOM 树中向上冒泡",为什么这一句 $("a").trigger("click");的匹配元素是a,而不是accident呢?

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

1234323181

2016-11-19 14:41

$("input").on("focus",function(event,title) {
        $(this).val(title)
    });

    $("#accident").on("click",function() {
        alert("trigger触发的事件会在 DOM 树中向上冒泡");
    });
    //trigger触发focus
    $("button:first").click(function() {
       
        $("a").trigger("click");
         $("input").trigger("focus");
    });

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

写回答 关注

1回答

  • 北海封爵
    2016-11-19 14:46:05

    .triggerHandler() 返回最后一个处理的事件的返回值。如果没有触发任何事件,会返回 undefined

    everym... 回复123432...

    因为下面 $("input").triggerHandler("focus","没有触发默认聚焦事件");传入了参数,这个参数是$("input").on("focus",function(event,title) { $(this).val(title) });里面的title接收的

    2016-12-02 21:18:05

    共 3 条回复 >

jQuery基础(三)—事件篇

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

89997 学习 · 625 问题

查看课程

相似问题