2011-08-24 94 views
0

我有一個表格。在它裏面我有一個textarea,當點擊時它會擴展。 但有一點問題: 當用戶嘗試提交表單(單擊提交按鈕)時,textarea會跳回到其正常大小。這是因爲它使用了onblur函數。我想消除這種尷尬,因爲用戶必須點擊提交按鈕兩次才能提交表單。我該如何解決這個onclick-onblur問題?

我該怎麼做才能讓它一鍵工作?

+2

你有任何代碼發佈? –

+0

嗯,我認爲這個問題可以在沒有發佈代碼的情況下解決,但是如果你需要這段代碼的話就通知我。 – Akos

+1

如果你可以在http://jsfiddle.com/上發表小提琴肯定會有幫助,因爲一個例子通常會說一千多個單詞。 – pimvdb

回答

4

您可以在一個日漸文本區域中的onblur處理程序短超時:

document.getElementById("textareaID").onblur = function() { 
    var target = this; 
    setTimeout(function() { 
     //Code to shrink the textarea, use "target" instead of "this" for scoping reasons. 
    }, 250); 

} 
3
textArea.addEventListener('blur', function(e) { 
    e.preventDefault(); 
    return false; 
}, true); 

這會監聽器添加到blur事件,這將阻止任何其他信息發射,包括什麼它是造成該textarea重新調整大小。儘管如此,它會更容易讓你而不是添加blur鉤子,而不是以這種方式捕捉它。