为了账号安全,请及时绑定邮箱和手机立即绑定

triggerHandler

<script type="text/javascript">


    //给input绑定一个聚焦事件

    $("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","没有触发默认聚焦事件");

    });




</script>

上面代码中

$("input").on("focus",function(event,title) {

        $(this).val(title)

    });

这两行代码能不能具体解释一下,谢谢、、、$(this).val(title)是什么意思

正在回答

2 回答

1.

$("input").on("focus",function(event,title) {

        $(this).val(title)

    });

这个是指input设置focus事件, $(this).val(title)是设置某个元素节点的value值,即获取$(this)元素节点并将title的值插入进去.

2.

$("button:last").click(function() {

        $("a").triggerHandler("click");

        $("input").triggerHandler("focus","没有触发默认聚焦事件");

    });

当点击第二个按钮时触发事件,先执行$("a").triggerHandler("click");事件,触发a的click事件,因为a没有click事件,且triggerHandler不会冒泡,所以没有执行效果。接着执行 $("input").triggerHandler("focus","没有触发默认聚焦事件");事件,触发input的focus事件,并传入title值。因为triggerHandler不会冒泡,只执行input的focus方法,把title的值插入input中。

1 回复 有任何疑惑可以回复我~

还有下面的

$("button:last").click(function() {

        $("a").triggerHandler("click");

        $("input").triggerHandler("focus","没有触发默认聚焦事件");

    });

这几行具体流程是什么样子的

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
jQuery基础(三)—事件篇
  • 参与学习       89999    人
  • 解答问题       625    个

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

进入课程

triggerHandler

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信