Dom的class和焦点管理

getElementsByClassName()是html的方法,如果想在ie9以下的浏览器使用,可以自己封装方法,首先创建空数组,然后getElementsByTagName,然后遍历,看className是否含有目标class。

classList属性,是一个伪数组(也是对象),获得当前节点的所有class,它本身也有四个方法:

add

remove

contains

toggle

上述四个方法只接收一个字符串作为参数

如果想增加多个class,可以自己重写add方法,即使循环使用这些方法,也不会循环渲染dom,因为js和浏览器渲染同时只有一个在工作


在html5增加了一个activeElement属性,

当你打开文档期间(未加载完成),指向null

加载完成,指向<body>标签,也就是documentElement

当你点击某个元素,指向该元素

可以利用只一点,来判断浏览器是否加载完成

在js中可以使用focus方法让某个元素强制获得焦点


如何判断文档是否获得焦点-----hasFocus,判断用户是否正在与网页进行交互

hasFocus只是document的方法

js中,所有的事件都是基于浏览器的,只有浏览器处于激活状态,事件才可以触发,比如用户点击了地址栏,就与网页脱离了交互

激活状态:document.hasFocus()返回true

未激活状态:document.hasFocus()返回false


焦点管理的意义:

1,让html开发更加标准化

2,对残障人士更加友好


转载于:https://juejin.im/post/5b06b00a51882538bd552395

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值