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

.trigger("focus")传入参数后,input标签并未显示文本

<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");

    });

trigger支持冒泡,为什么我给input传入一个title参数比如 $("input").trigger("focus",“触发聚焦事件”);点击第一个按钮触发不了聚焦事件呢

    //triggerHandler触发focus

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

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

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

    });

</script>


正在回答

3 回答

通过查看其他同学答案,既要有聚焦行为,又要input显示value值是矛盾的;其实不传参数时已经触发了聚焦事件(点击按钮1后光标停留在了input文本框内),foucus是原生事件,trigger会触发原生事件,如把foucus随便改成一个名字,点击按钮一时该参数就显示在input文本框了

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

Richard_Li

我也在想这个问题 不过我不太理解你说的是什么意思 能解释下吗?
2017-11-27 回复 有任何疑惑可以回复我~
#2

麓鹿不迷路

‘如把foucus随便改成一个名字,点击按钮一时该参数就显示在input文本框了。’但这个时候这个函数就没了获取焦点的作用。就只是自定义了一个普通事件。 所以就是说原生事件focus不能传参数是吗?
2018-06-03 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

.trigger("focus")传入参数后,input标签并未显示文本

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