JavaScript中的焦点事件
一:什么是焦点事件?
JavaScript中的焦点事件会在页面元素失去或者获得焦点时触发。利用焦点事件并和document.hasFocus()、document.activeElement属性配合,可以知道用户在页面上的行踪。焦点事件分为6种:
1. blur:在元素失去焦点时触发。(不会冒泡);兼容所有浏览器。
2. DOMFocusIn:元素获取焦点时触发。和focus等价,(冒泡,opera支持它,DOM3废弃了他,选择了focusin)。
3. DOMFocusOut:元素失去焦点时触发,这个事件是html事件blur的通用版,(只有opera支持这个事件,DOM3废弃了它,选择了focusout);
4. focus:在元素获得焦点时触发,(不会冒泡);所有浏览器都兼容
5. focusin:在元素获得焦点时触发。(可冒泡),ie5.5、Safari5.1+、opera11.5+和Chrome支持。
6. focusout:在元素失去焦点时触发。(可冒泡),ie5.5、Safari5.1+、opera11.5+和Chrome支持。
二:判断是否支持焦点事件?
var isSupported = document.implementation.hasFeature('FocusEvent','3.0');
console.log(isSupported); //true or false