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

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

慕仙3614160

2016-07-12 17:06

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

写回答 关注

5回答

  • 猎风的雄鹰
    2016-11-13 16:15:19

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

  • Feair
    2016-09-11 23:09:31

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

  • 喝牛奶对身体好
    2016-09-04 22:20:36

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

  • 喝牛奶对身体好
    2016-08-10 14:03:18

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

    icemin...

    $("input").on("focusin",function(event,titie) { $(this).val(title); }); $("button:first").click(function() { $("input").trigger("focusin",['触发默认事件']); }); 我改成了focusin也不行啊

    2016-08-31 17:36:29

    共 1 条回复 >

  • 全国花式抖腿冠军
    2016-07-13 15:13:49

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

jQuery基础(三)—事件篇

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

89997 学习 · 625 问题

查看课程

相似问题