3 回答

TA貢獻(xiàn)1963條經(jīng)驗(yàn) 獲得超6個(gè)贊
在JavaScript中,focus()雖然比較罕見,但還是比較有用的,
主要是用于獲取焦點(diǎn),說白了,就是自動(dòng)把光標(biāo)放到此組件上面,無須用戶再次操作。
直接用一個(gè)例子說明問題:
上述代碼,設(shè)置在打開網(wǎng)頁(yè)5秒之后,無須用戶操作,focus()方法會(huì)自動(dòng)將光標(biāo)放到id為text_2這個(gè)文本框。
在IE中,window.self.focus();還會(huì)起作用。5秒后,窗口還會(huì)自動(dòng)獲得焦點(diǎn),切換到其他窗口,或者其他程序,等5秒,IE瀏覽器還會(huì)自動(dòng)返回到前臺(tái),成為活動(dòng)窗口,而在野狐禪等其他瀏覽器中不適用?;鸷?、谷歌等為了安全性,設(shè)置瀏覽器無法實(shí)現(xiàn)控制用戶行為。在其他程序應(yīng)用時(shí),讓瀏覽器獲取窗口焦點(diǎn)這個(gè)是無法做到的。最少在瀏覽器內(nèi)部js無法做到。
不過對(duì)于chrome或者firefox,safari之類的瀏覽器可以用過Notification這個(gè)類來做一個(gè)彈出通知。然而notification必須要支持html5,太麻煩。目前要求窗口獲取焦點(diǎn),基本上用alert去實(shí)現(xiàn)。
由于IE的window.self.focus();是其作用的,不被禁止的,配合onblur()獲取焦點(diǎn)事件,還能構(gòu)造一個(gè)死循環(huán),讓IE崩潰,如下的代碼:
拓展資料
關(guān)于Java

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個(gè)贊
這個(gè)是HTML DOM對(duì)象的方法,并不是js的函數(shù),js只是調(diào)用對(duì)象的focus方法.該方法表示將輸入焦點(diǎn)移至對(duì)象上.
資料拓展
HTML DOM是HTML Document Object Model(文檔對(duì)象模型)的縮寫,HTML DOM則是專門適用于HTML/XHTML的文檔對(duì)象模型。熟悉軟件開發(fā)的人員可以將HTML DOM理解為網(wǎng)頁(yè)的API。它將網(wǎng)頁(yè)中的各個(gè)元素都看作一個(gè)個(gè)對(duì)象,從而使網(wǎng)頁(yè)中的元素也可以被計(jì)算機(jī)語(yǔ)言獲取或者編輯。 例如Javascript就可以利用HTML DOM動(dòng)態(tài)地修改網(wǎng)頁(yè)。
DOM是Document Object Model文檔對(duì)象模型的縮寫。根據(jù)W3C DOM規(guī)范,DOM是一種與瀏覽器,平臺(tái),語(yǔ)言無關(guān)的接口,使得你可以訪問頁(yè)面中其他的標(biāo)準(zhǔn)組件。簡(jiǎn)單理解,DOM解決了Netscape的JavaScript和 Microsoft的JavaScript之間的沖突,給予web設(shè)計(jì)師和開發(fā)者一個(gè)標(biāo)準(zhǔn)的方法,讓他們來訪問他們站點(diǎn)中的數(shù)據(jù)、腳本和表現(xiàn)層對(duì)象。
在 HTML DOM 中,所有事物都是節(jié)點(diǎn)。DOM 是被視為節(jié)點(diǎn)樹的 HTML。
每個(gè)節(jié)點(diǎn)都擁有包含著關(guān)于節(jié)點(diǎn)某些信息的屬性。這些屬性是:
nodeName(節(jié)點(diǎn)名稱)nodeValue(節(jié)點(diǎn)值)nodeType(節(jié)點(diǎn)類型)
根據(jù)W3C的 HTML DOM 標(biāo)準(zhǔn),HTML 文檔中的所有內(nèi)容都是節(jié)點(diǎn):
整個(gè)文檔是一個(gè)文檔節(jié)點(diǎn)
每個(gè) HTML 元素是元素節(jié)點(diǎn)
HTML 元素內(nèi)的文本是文本節(jié)點(diǎn)
每個(gè) HTML 屬性是屬性節(jié)點(diǎn)
注釋是注釋節(jié)點(diǎn)
- 3 回答
- 0 關(guān)注
- 1181 瀏覽
添加回答
舉報(bào)