所以我有這個輸入標籤<input ... onFocus=...>
,我想要的是如果有人點擊寫入輸入字段,會彈出一個警告窗口。在人讀完警告後,他/她關閉彈出窗口並可繼續在該字段中寫入。我已經設法實現了彈出窗口,但是我的問題是,當彈出窗口彈出時,我失去了對輸入字段的注意力,所以下次單擊該字段時彈出窗口會再次返回,然後回到第一個窗口。在onFocus上做了幾件事情
我工作的系統使用PHP和JavaScript,所以我不能使用任何其他方法解決問題,我的經驗與PHP和JavaScript是有限的。
所以我有這個輸入標籤<input ... onFocus=...>
,我想要的是如果有人點擊寫入輸入字段,會彈出一個警告窗口。在人讀完警告後,他/她關閉彈出窗口並可繼續在該字段中寫入。我已經設法實現了彈出窗口,但是我的問題是,當彈出窗口彈出時,我失去了對輸入字段的注意力,所以下次單擊該字段時彈出窗口會再次返回,然後回到第一個窗口。在onFocus上做了幾件事情
我工作的系統使用PHP和JavaScript,所以我不能使用任何其他方法解決問題,我的經驗與PHP和JavaScript是有限的。
只要讓onfocus運行一個函數,通過變量檢查是否已經顯示警報。我假設你不想顯示警報不是每個頁面瀏覽一次,所以像這樣的工作:
<input type="text" onfocus="showFocusAlert()" />
當你:
<script type="text/javascript">
var focusShown = false;
function showFocusAlert()
{
if (!focusShown)
{
alert("You are about to focus!");
focusShown = true;
}
}
</script>
輸入然後使用這樣的事情關閉警告,您可以再次將焦點放在輸入上。
看到一個演示http://jsbin.com/ifice4/
這是非常容易使用one()功能使用jQuery做:
$('#foo').one('focus', function() {
alert('This will be displayed only once.');
});
使用jQuery或JavaScript框架的優點是,它使得它很容易讓你編寫不顯眼的JavaScript。
我認爲他意味着確認對話框,所以像這樣的事情可能是他後面的:'focusShown = confirm(「肯定要編輯這個字段?」);' – 2011-03-16 08:08:43
這就像一個魅力!乾杯! – Jakob 2011-03-16 08:16:55