2011-03-16 74 views
1

所以我有這個輸入標籤<input ... onFocus=...>,我想要的是如果有人點擊寫入輸入字段,會彈出一個警告窗口。在人讀完警告後,他/她關閉彈出窗口並可繼續在該字段中寫入。我已經設法實現了彈出窗口,但是我的問題是,當彈出窗口彈出時,我失去了對輸入字段的注意力,所以下次單擊該字段時彈出窗口會再次返回,然後回到第一個窗口。在onFocus上做了幾件事情

我工作的系統使用PHP和JavaScript,所以我不能使用任何其他方法解決問題,我的經驗與PHP和JavaScript是有限的。

回答

2

只要讓onfocus運行一個函數,通過變量檢查是否已經顯示警報。我假設你不想顯示警報不是每個頁面瀏覽一次,所以像這樣的工作:

<input type="text" onfocus="showFocusAlert()" /> 
+0

我認爲他意味着確認對話框,所以像這樣的事情可能是他後面的:'focusShown = confirm(「肯定要編輯這個字段?」);' – 2011-03-16 08:08:43

+0

這就像一個魅力!乾杯! – Jakob 2011-03-16 08:16:55

0

當你:

<script type="text/javascript"> 
var focusShown = false; 

function showFocusAlert() 
{ 
    if (!focusShown) 
    { 
     alert("You are about to focus!"); 
     focusShown = true; 
    } 
} 
</script> 

輸入然後使用這樣的事情關閉警告,您可以再次將焦點放在輸入上。

看到一個演示http://jsbin.com/ifice4/

0

這是非常容易使用one()功能使用jQuery做:

$('#foo').one('focus', function() { 
    alert('This will be displayed only once.'); 
}); 

使用jQuery或JavaScript框架的優點是,它使得它很容易讓你編寫不顯眼的JavaScript。

相關問題