我嘗試瞭解Firefox在對話框中添加的「阻止此頁面創建其他對話框」的行爲。「阻止此頁面創建其他對話框」的規則
使用jQuery,如果我添加以下監聽器:
//html
<input class="testInput" />
//javascript
$('.testInput')
.click(function(){ alert('clicked') })
.keyup(function(){ alert('keyup') })
- 當輸入點擊,警告框通常出現,直到 〜13次。
- 另一方面,當擊中某個鍵時,出現第二個消息框 ,並顯示消息「阻止該頁面創建其他對話框」。實際上,似乎有一些tiemout,如果我在兩個按鍵之間等待2秒鐘, 消息消失。
從我的非正式測試中,2.
其實適用於任何的警告框不從的onclick回調中調用(如:KEYUP回調,展現回答一個警告框的AJAX動作...)
我在Ubuntu下使用Firefox 9.0.1,據我所知,我還沒有調整關於這些閾值的Firefox的設置。 我想象它發生在任何瀏覽器的任何最新版本。
我正在使用jQuery庫,但我不認爲它在這裏是相關的。
我的問題是: 這個警告出現在對話框中的確切規則是什麼?
[編輯]
使用鉻/ Ubuntu的(17.0.963.26版本),該閾值似乎是僅兩個對話框之間的延遲。
您可以測試這個從的jsfiddle here(羅裏THX McCrossan)
FYI:與此小提琴測試(HTTP:// jsfiddle.net/RoryMcCrossan/9XwTn/)我在第12次迭代的警報中獲得了click和keyup的複選框。 – 2012-01-13 13:33:20
@Rory:我仍然有我的行爲。你有什麼瀏覽器? thx爲jsfiddle鏈接。 – LeGEC 2012-01-13 13:37:50
只是爲了填補一些更多的數據輸入;我在FF 9.0.1 Windows XP SP3上的第12次點擊迭代和第二次鍵盤迭代中得到它。 – 2012-01-13 13:40:15