zoukankan      html  css  js  c++  java
  • 如何让div响应onblur事件

    默认火狐或者其他浏览器里DIV和其他普通标签是不具有onfocus和onblur事件的,经我长久论证因为他们不具有tab属性,所以只要我们创建tab,那么任何标签都可以具有tab属性。

    什么标签具有tab呢?显然input和a是得天独厚的具有,我们经常用键盘上的tab键进行移动光标的时候,我们发现光标只在具有tab属性的元素上进行跳转。

    我们现在来让div拥有tab并具有onfucus和onblur属性!

    给元素创建tab属性:tabindex=参数(这里和z-index类似,计算tab起点)。
    1. <div tabindex="0" hidefocus="true" onfocus='alert("得到焦点");' onblur='alert("失去焦点");' style="border:1px solid #ccc;200px;height:200px;outline=0;"></div>
    复制代码运行代码(调试)
    看到这里你了解了吧!

    另外,定义tab属性后,元素是默认会加上焦点虚线的,那么在IE中可以通过hidefocus="true"去除!其他浏览器通过outline=0进行去除!

    width和height属性不是必要的,可以去除

    onfocus、onblur事件均不能够冒泡,因此在IE中无法进行事件代理(IE只支持冒泡方式),而在chrome、firefox中则可以将处理函数绑定

        在事件捕捉阶段(即将addEventListener的最后一个参数设置为true)。

    注意:要点击层才有效果,不然没有效果

  • 相关阅读:
    谜题48:我所得到的都是静态的
    谜题47:啊呀!我的猫变成狗了
    谜题46:令人混淆的构造器案例
    谜题45:令人疲惫不堪的测验
    谜题44:切掉类
    Python--csv文件处理
    Python装饰器
    Python单例模式
    <<Senium2自动化测试>>读书笔记二
    python之内置函数
  • 原文地址:https://www.cnblogs.com/chenjianhong/p/4145006.html
Copyright © 2011-2022 走看看