结果你为button准备的focus效果可能会跑到其他input上,例如radiobox、checkbox上。
所以通常会看到有人会给出两个class一个是button,一个是button_focus,onfocus的时候,把button替换成button_focus。
input.button {…}
input.button_focus {…}
当然它可以工作,对于一向只用一个class的人来说,甚至可以用不太严谨的方式,在onfocus的时候className+='_focus',在onblur的时候className.replace('_focus',''),这段代码可以通用,而不必为button写一遍,又为radio或者checkbox再写一遍。但是总的来说,这恐怕不是一个好方法。例如button_focus不能复用button的样式特性。如果你要复用,必须写成:
input.button, input.button_focus {…}
input.button_focus {…}
每一处类似的情况都要记住这个写法(且两句顺序不能颠倒)。
特别讨厌的是,即使在另一个地方,你不想要focus效果,因此只需要input.button,而不需要input.button_focus,但你也要记得第一句的写法,否则一旦有了焦点,input.button样式就失效了!
文章来源于领测软件测试网 https://www.ltesting.net/