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

为什么这个例子中focus不能传递数据

如代码所示,点击第一个按钮会触发focus,但是传递的数据无效,点击第二个传递的数据有效。将事件改成click或者focusin等都可以,此外,用trigger触发focusin好像默认好像不会获取焦点?

正在回答

5 回答

大神,能解答一下:浏览器的默认行为有哪些?有哪些事件可以触发浏览器的默认行为?

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

建议楼主去看一下http://www.imooc.com/qadetail/152072,这个答复还是蛮给力的。

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

仔细看第一行和第二行代码,一个是titie,一个是title,参数都不一样啊

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

同样遇到楼主的问题,查了许久资料觉得楼上说的确实有道理,把focus改成支持冒泡的focusin就可以传递数据了。

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

iceminit

$("input").on("focusin",function(event,titie) { $(this).val(title); }); $("button:first").click(function() { $("input").trigger("focusin",['触发默认事件']); }); 我改成了focusin也不行啊
2016-08-31 回复 有任何疑惑可以回复我~

trigger事件传递数据需要冒泡才能完成,而focus事件不支持冒泡,所以只能出发原始事件,也就是聚焦,triggerHandler事件也不支持冒泡,传递数据不需要经过冒泡实现所以这里可以传递函数给focus事件

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

举报

0/150
提交
取消

为什么这个例子中focus不能传递数据

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