在JavaScript中,focus()虽然比较罕见,但还是比较有用的,
主要是用于获取焦点,说白了,就是自动把光标放到此组件上面,无须用户再次操作。
直接用一个例子说明问题:
上述代码,设置在打开网页5秒之后,无须用户操作,focus()方法会自动将光标放到id为text_2这个文本框。
在IE中,window.self.focus()还会起作用。5秒后,窗口还会自动获得焦点,切换到其他窗口,或者其他程序,等5秒,IE浏览器还会自动返回到前台,成为活动窗口,而在野狐禅等其他浏览器中不适用。火狐、谷歌等为了安全性,设置浏览器无法实现控制用户行为。在其他程序应用时,让浏览器获取窗口焦点这个是无法做到的。最少在浏览器内部js无法做到。
不过对于chrome或者firefox,safari之类的浏览器可以用过Notification这个类来做一个弹出通知。然而notification必须要支持html5,太麻烦。目前要求窗口获取焦点,基本上用alert去实现。
由于IE的window.self.focus()是其作用的,不被禁止的,配合onblur()获取焦点事件,还能构造一个死循环,让IE崩溃,如下的代码:
拓展资料
关于Java
资料来源:百度百科:Java
focus是获得焦点事件。当一个文本框获得焦点时,它里面的文本就像“好123”网站上的百度搜索输入框那样全部被自动选中,这样的操作可以利用onfocus来实现。
以下的文本框,当鼠标指针移过去时,里面的文字全部被选中:
请输入网址
这是怎么做的呢?看以下代码及解释:
<input type="text"name="url" value="" size="30"onmousemove="this.focus()this.select()">
代码里,input标签内嵌入了onmousemove(鼠标指针经过)事件的JS语句,其等号后面的this.focus()意为其自身获得焦点;获得焦点的标志是该文本框内将出现输入光标,但要让其内的文字全部被选中,我们还得用上this.select()语句,它的意思就是选中全部文本框里的文字。