码迷,mamicode.com
首页 > 其他好文 > 详细

浏览器的聚焦

时间:2014-12-08 21:01:40      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   sp   strong   on   2014   问题   log   

这又是一个老话题了, 不过最近在详写jQuery事件模拟的时候顺便又回顾了一次,做个记录巩固下吧

当然这里所说的问题都是在旧版本的浏览器中出现的兼容问题,首先从事件流谈起

bubuko.com,布布扣

通常支持事件冒泡(Event Bubbling)的事件类型为鼠标事件和键盘事件,例如:mouseover, mouseout, click, keydown, keypress

接口事件则通常不支持事件冒泡(Event Bubbling),例如:load, change, submit, focus, blur

focus/blur 在IE下是不持冒泡的,但是focusin/focusouts是支持冒泡了,可是火狐又不支持这2个事件

 

那么就好办了,focus/blur事件如果需要委托就换成focusin/focusouts代替,但是如果换成不支持focusin/focusouts的浏览器呢,比如火狐

事件流不是还有一个捕获吗?除了IE,现在流行的标准浏览器均支持

所以jQuery给出的最终解决方案是:

如果是IE下面,因为支持 focusin 和 focusout 事件,如果用了focus/blur实现冒泡的话就可以强制换成focusin 和 focusout

其余浏览器在不支持focusin/focusouts的情况下,转化成事件捕获

浏览器的聚焦

标签:style   blog   http   sp   strong   on   2014   问题   log   

原文地址:http://www.cnblogs.com/aaronjs/p/4151738.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!